Stock 0 Denunciar post Postado Fevereiro 27, 2009 Bom Dia caros amigos que me ajudam muito... é o seguinte tenho que fazer um programa que o usuario digite o nome e telefone de quants pessoas ele querer ai no final aparecera uma msg para ele efetuar a busca pelo nome de e assim que ele colocar o nome e esse nome existir ... o programa mostrara o nome e o telefone dessa pessoa .... começei o programa mas ainda nao consegui fazer a busca e ainda nao sei se consegui vincular o nome e o telefone do usuario segue abaixo : #include <iostream> using namespace std; struct elemento{ int dado; char nome[51]; int telefone; elemento *proximo; }; int main() { { char continua = 's'; elemento *usuario; do{ usuario = new elemento; fflush(stdin); cout<<"\nInforme o nome: "; gets(usuario->nome); cout<<"Informe a numero: "; cin>>usuario->telefone; cout<<"Deseja informar os dados de mais um usuario? (s ou n): "; cin>>continua; }while (continua == 's'); e agora o que fazer ajuda ai ?? rsrs abraços a todos ! Compartilhar este post Link para o post Compartilhar em outros sites
José Enésio 4 Denunciar post Postado Fevereiro 27, 2009 struct elemento requer que você crie uma variável com struct elemento. Se quer criar apenas com elemento, tem que definir com typedef struct {blablabla} elemento; Não precisa definir continua pra s logo no começo porque o loop do while executa obrigatoriamente uma vez antes de checar se é pra continuar ou não. Seu main tem dois { e não tem um }. Você está usando C++, pode usar o tipo string ao invés do char. Decida-se, ou usa C ou C++. Você parece alternar entre um e outro em alguns momentos. Não use fflush(stdin). O programa tem uma lógica falha para criar os usuários. Não estou com muito saco hoje pra procurar a lógica certa, então vou lhe mostrar uma maneira que fiz agora e funciona: int main() { char continua = 's'; elemento *usuario = new elemento, *ponteiro = usuario; do{ cout << "\nInforme o nome: "; cin >> ponteiro->nome; cout << "Informe a numero: "; cin >> ponteiro->telefone; cout << "Deseja informar os dados de mais um usuario? (s ou n): "; ponteiro->proximo = new elemento; ponteiro = ponteiro->proximo; ponteiro->proximo = NULL; cin >> continua; }while (continua == 's'); ponteiro = usuario; while(ponteiro->proximo != NULL) { cout << ponteiro->nome << "\n"; ponteiro = ponteiro->proximo; } return 0; } Já pesquisou sobre busca em listas encadeadas? Porque é basicamente isso que você vai fazer. Entendeu alguma coisa do assunto? Compartilhar este post Link para o post Compartilhar em outros sites