celiofreitas Posted May 9, 2020 Posted May 9, 2020 Boa tarde! Estou precisando fazer um programa utilizando tad e lista encadeada que preciso inserir um nome e um número de contato, porém quando eu digito o nome e coloco a função para exibir ele me retorna o nome em branco, não grava o que eu digitei, poderiam me ajudar ? O meu Arquivo .h está da seguinte foma. #include <stdlib.h> #include <iostream> using namespace std; typedef int INTEIRO; typedef struct REGISTRO{ INTEIRO telefone; REGISTRO* proximo; } REGISTRO; REGISTRO* inicializarLista(); void exibirLista(REGISTRO* l); REGISTRO* inserirElemLista(REGISTRO* l); REGISTRO* reinicializarLista(REGISTRO* l); Meu arquivo .CPP #include "ListaEncadeada.h" #include<string.h> REGISTRO* inicializarLista() { return NULL; } REGISTRO* inserirElemLista(REGISTRO* l) { INTEIRO telefone; NOME name; cout<<"Digite o numero de telefone do contato: "<<endl; cin>>telefone; cout<<"Digite o nome: "<<endl; cin>>name; REGISTRO* novo = (REGISTRO *) malloc(sizeof(REGISTRO)); novo->telefone = telefone; novo->name[20] = name[20]; novo->proximo = l; return novo; } void exibirLista(REGISTRO* l) { REGISTRO* p; /* variável auxiliar para percorrer a lista */ for (p = l; p != NULL; p = p->proximo) { cout << "Numero de telefone: = " << p->telefone <<" nome: "<<p->name<<endl; } } MAIN: #include <iostream> #include "ListaEncadeada.h" #include <stdlib.h> using namespace std; /* run this program using the console pauser or add your own getch, system("pause") or input loop */ int main(int argc, char** argv) { int op; REGISTRO* l; l = inicializarLista(); while(op =! 0){ cout<<"Digite 1 - para inserir\nDigite 2 - para exibir\nDigite 3 - para sair"<<endl; cin>>op; if(op==1){ l = inserirElemLista(l); } if(op==2){ exibirLista(l); } } }
Recommended Posts
Archived
This topic is now archived and is closed to further replies.