eu estou com duvidas na hora de implementar a função void remover ()... eu não estou conseguindo remover com a base no RA que o usuario informa para o programa... Meu professor comentou que tem que usar a mesma função de buscar um elemento... mas n estou conseguindo remover
se vocês podrem me ajugar agradeço desde já
#include <stdio.h>
#include <stdlib.h>
#include <iostream>
struct Alunos {
char RA[10]; //armazena o RA dos aluno
char Nome[255]; //armazena o nome de um aluno
int Idade; //armazena a idade de um aluno
};
struct Lista {
int tamMax; //armazena a quantidade de elementos que esta lista pode armazenar
int tamUtilizado; //armazena a quantidade de elementos atualmente na lista
struct Alunos Aluno[10]; //Ponteiro para um vetor de Alunos, onde estarao os dados propriamente ditos;
Pergunta
ProSkater
Olá galera...
eu estou com duvidas na hora de implementar a função void remover ()... eu não estou conseguindo remover com a base no RA que o usuario informa para o programa... Meu professor comentou que tem que usar a mesma função de buscar um elemento... mas n estou conseguindo remover
se vocês podrem me ajugar agradeço desde já
#include <stdio.h>
#include <stdlib.h>
#include <iostream>
struct Alunos {
char RA[10]; //armazena o RA dos aluno
char Nome[255]; //armazena o nome de um aluno
int Idade; //armazena a idade de um aluno
};
struct Lista {
int tamMax; //armazena a quantidade de elementos que esta lista pode armazenar
int tamUtilizado; //armazena a quantidade de elementos atualmente na lista
struct Alunos Aluno[10]; //Ponteiro para um vetor de Alunos, onde estarao os dados propriamente ditos;
};
struct Lista ListaAlunos;
void CriarLista(){
ListaAlunos.tamMax = 3;
ListaAlunos.tamUtilizado = 0;
}
void DestroiLista(){
ListaAlunos.tamMax = 0;
ListaAlunos.tamUtilizado = 0;
}
void ExibirLista(){
int x;
for (x=0;x<ListaAlunos.tamUtilizado;x++){
printf("RA: %s Nome: %s Idade: %d\n",ListaAlunos.Aluno[x].RA, ListaAlunos.Aluno[x].Nome, ListaAlunos.Aluno[x].Idade);
}
}
void Inserir(){
printf("Funcao Inserir() chamada\n");
if(ListaAlunos.tamUtilizado < ListaAlunos.tamMax){
getchar();
printf("Informe o RA: ");
gets(ListaAlunos.Aluno[ListaAlunos.tamUtilizado].RA);
printf("Informe o Nome: ");
gets(ListaAlunos.Aluno[ListaAlunos.tamUtilizado].Nome);
printf("Informe a Idade: ");
scanf ("%d", &ListaAlunos.Aluno[ListaAlunos.tamUtilizado].Idade);
ListaAlunos.tamUtilizado++;
}
}
void Remover(){
char remover[10];
int i;
int x;
getchar();
printf("Remover RA: ");
gets (remover);
for (i=0; i < ListaAlunos.tamUtilizado; i++){
if ( strcmp(remover, ListaAlunos.Aluno.RA)==0){
printf("RA: %s\n", ListaAlunos.Aluno.RA);
printf("Nome: %s\n", ListaAlunos.Aluno.Nome);
printf("Idade: %d", ListaAlunos.Aluno.Idade);
}
}
}
void ExibirElemento(){
char busca[10];
int i;
getchar();
printf("Informe o RA: ");
gets (busca);
for (i=0; i < ListaAlunos.tamUtilizado; i++){
if ( strcmp(busca, ListaAlunos.Aluno.RA)==0){
printf("RA: %s\n", ListaAlunos.Aluno.RA);
printf("Nome: %s\n", ListaAlunos.Aluno.Nome);
printf("Idade: %d\n", ListaAlunos.Aluno.Idade);
}
}
}
void ExibirPosicao(){
int pos;
printf("Digite a Posicao: ");
scanf("%d", &pos);
if (pos <= ListaAlunos.tamUtilizado){
printf("RA: %s\n", ListaAlunos.Aluno[pos-1].RA);
printf("Nome: %s\n", ListaAlunos.Aluno[pos-1].Nome);
printf("Idade: %d", ListaAlunos.Aluno[pos-1].Idade);
}
else printf("Posicao inexistente");
}
void Esvaziar(){
ListaAlunos.tamUtilizado = 0;
printf("Lista Vazia");
}
void ListaVazia(){
printf("Funcao ListaVazia() chamada\n");
if( ListaAlunos.tamUtilizado == -1 ){
printf("Lista vazia\n");
}
else{
printf("Lista não esta vazia\n");
}
}
void ListaCheia(){
if (ListaAlunos.tamUtilizado >= ListaAlunos.tamMax){
printf("A Lista esta Cheia");
}
else printf("A Lista não esta Cheia");{
}
}
int ProcessaMenu(){
int opcao=0;
printf("======================MENU=======================\n\n");
printf(" 1 - Exibir Lista\n");
printf(" 2 - Inserir Lista\n");
printf(" 3 - Remover da Lista\n");
printf(" 4 - Exibir Elemento\n");
printf(" 5 - Exibir Posicao\n");
printf(" 6 - Esvaziar Lista\n");
printf(" 7 - Verificar se Lista esta Vazia\n");
printf(" 8 - Verificar se Lista esta Cheia\n");
printf(" 0 - Sair\n\n");
printf("=================================================\n");
printf("Digite sua opcao: ");
scanf("%d", &opcao);
return opcao;
}
void FinalizaPrograma(){
printf("Finalizando o programa\n");
}
void ProcessaEntrada( int opcaoMenu ){
switch( opcaoMenu ){
case 0:
FinalizaPrograma();
break;
case 1:
ExibirLista();
break;
case 2:
Inserir();
break;
case 3:
Remover();
break;
case 4:
ExibirElemento();
break;
case 5:
ExibirPosicao();
break;
case 6:
Esvaziar();
break;
case 7:
ListaVazia();
break;
case 8:
ListaCheia();
break;
default:
printf("Opcao Invalida\n");
break;
}
getchar();
getchar();
}
void LimpaTela(){
system("cls");
}
int main( int argc, char* argv[] ){
int opcaoMenu=0;
CriarLista();
do{
LimpaTela(); //Limpa a tela antes de processar o menu
opcaoMenu = ProcessaMenu(); //Imprime o menu na tela e le a entrada do usuario
printf("Opcao selecionada: %d\n", opcaoMenu); //Imprime na tela a opcao selecionada
ProcessaEntrada( opcaoMenu ); //Processa a opcao escolhida pelo usuario
}while (opcaoMenu != 0);
DestroiLista();
return 0;
}
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.