Ir para conteúdo
Fórum Script Brasil

ProSkater

Membros
  • Total de itens

    3
  • Registro em

  • Última visita

Sobre ProSkater

ProSkater's Achievements

0

Reputação

  1. 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; }
  2. Então eu to fazendo sem ponteros... e to com duvidas na hora de remover so que tem que remover por o RA informado pelo usuario #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(){ 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", 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; }
  3. E ae galera beleza??? Sou novo aqui no forum mais to com duvidas na implematação da função struct... se vocês poderem me ajudar agradeço #include <stdio.h> #include <stdlib.h> 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; //Ponteiro para um vetor de Alunos, onde estarao os dados propriamente ditos; }; void CriarLista( struct Lista *ListaAlunos, int n ){ printf("Funcao CriarLista() chamada\n"); (*ListaAlunos).tamMax = n; (*ListaAlunos).tamUtilizado = 0; (*ListaAlunos).Aluno = (Alunos *) malloc( n * sizeof( Alunos ) ); } void DestroiLista( struct Lista *ListaAlunos ){ printf("Funcao DestroiLista() chamada\n"); (*ListaAlunos).tamMax = 0; (*ListaAlunos).tamUtilizado = 0; free ( (*ListaAlunos).Aluno ); } void ExibirLista(){ printf("Funcao ExibirLista() chamada\n"); } void Remover(){ printf("Funcao Remover() chamada\n"); } void ExibirElemento(){ printf("Funcao ExibirElemento() chamada\n"); } void ExibirPosicao(){ printf("Funcao ExibirPosicao() chamada\n"); } void Esvaziar(){ } void ListaVazia( struct Lista *ListaAlunos ){ printf("Funcao ListaVazia() chamada\n"); if( (*ListaAlunos).tamUtilizado == 0 ){ printf("Lista vazia\n"); } else{ printf("Lista não esta vazia\n"); } } void ListaCheia(){ printf("Funcao ListaCheia() chamada\n"); } int ProcessaMenu(){ int opcao=0; printf("\n\n"); printf("-------Editor de Listas-------\n\n"); printf(" 1 - Exibir Lista\n"); printf(" 2 - Inserir na Lista\n"); printf(" 3 - Remover da Lista\n"); printf(" 4 - Exibir Elemento\n"); printf(" 5 - Exibir Posicao\n"); printf(" 6 - Esvaziar\n"); printf(" 7 - Lista Vazia\n"); printf(" 8 - Lista Cheia\n"); printf(" 0 - Sair\n\n"); printf("Digite sua opcao: "); scanf("%d", &opcao); return opcao; } void FinalizaPrograma(){ printf("Finalizando o programa\n"); } void ProcessaEntrada( int opcaoMenu, struct Lista *ListaAlunos ){ 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 (ListaAlunos); break; default: printf("Opcao Invalida\n"); break; } getchar(); getchar(); } void LimpaTela(){ system("cls"); } int main( int argc, char* argv[] ){ char opcaoMenu=0; struct Lista ListaAlunos; CriarLista( &ListaAlunos, 10 ); do{ LimpaTela(); opcaoMenu = ProcessaMenu(); printf("Opcao selecionada: %d\n", opcaoMenu); ProcessaEntrada( opcaoMenu, &ListaAlunos ); }while (opcaoMenu != 0); DestroiLista( &ListaAlunos ); return 0; }
×
×
  • Criar Novo...