【发布时间】:2018-01-30 04:02:18
【问题描述】:
这是一个链表的 C 代码,但这并没有产生所需的输出。
# include <iostream>
# include <stdlib.h>
using namespace std;
struct listas
{
char nombre[30];
string celular;
listas *direccionA;
};
listas *listao,*listaaux;
void ingreso();
void mostrar();
int main()
{
int I,Humanos,Num;
while(true){
printf("Numero de personas a registrar: \n");
scanf("%d", &Humanos);
for(I=1; I<=Humanos; I++){
ingreso();
}
mostrar();
}
}
void ingreso(){
if(listao==NULL){
listao=new(listas);
cout<<"Ingresa el nombre"<<endl;
cin>>listao->nombre;
cout<<"Ingresa el numero de celular"<<endl;
cin>>listao->celular;
cout<<"Datos ingresados correctamente"<<endl;
return;
}
listaaux=new(listas);
cout<<"Ingresa el nombre"<<endl;
cin>>listaaux->nombre;
cout<<"Ingresa el numero de celular"<<endl;
cin>>listaaux->celular;
cout<<"Dato ingresado correctamente"<<endl;
listao->direccionA=listaaux;
listaaux->direccionA=NULL;
}
void mostrar(){
if(listao==NULL){
cout<<"No hay datos en la Lista"<<endl;
}
listaaux=listao;
cout<<"Los datos de la Lista son: "<<endl;
while(listao!=NULL){
cout<<"datos de la persona"<<endl;
cout<<"Nombre:"<<listao->nombre<<endl;
cout<<"Celular:"<<listao->celular<<endl;
listao=listao->direccionA;
}
cout<<"----"<<endl;
}
这就是结果。它只保存第一个和最后一个日期:
但我想保存所有日期或“n”个日期并显示所有日期,但我不知道如何保存所有内容。我认为问题出在ingreso() 函数中。
【问题讨论】:
-
我建议您阅读How to debug small programs,了解rubber-duck debugging 以及如何使用实际的调试器逐行执行代码。
-
抱歉朋友不懂语言导致无法理解您需要什么样的帮助
-
我需要显示所有添加的数据。不仅是第一个和最后一个数据。
-
@HariomSingh 你以前没有读过混淆代码吗?
-
当您从未设置
listao = NULL时,您不能期望listao == NULL永远为真。
标签: c++ list linked-list insert