Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Stock

Exercicio Busca com Ponteiros

Recommended Posts

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

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

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.