これはCコードをリンクリストに追加しますが、これは目的の出力を生成しません。dev-C++の単独リンクリスト4.9.9.2
# 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()
機能にあると思う。これが唯一のあなたが作成し、最後のノードと第1のノードをリンクするために起こっている
listao->direccionA=listaaux;
listaaux->direccionA=NULL;
:
などを割り当てる必要がありhttps://ericlippert.com/2014/03/05/how-to- debug-small-programs /)、[ラバーダックデバッグ](https://en.wikipedia.org/wiki/Rubber_duck_debugging)、実際のデバッガを使用して行ごとにコードをステップ実行する方法について学びます。 –
申し訳ありませんが、あなたが必要としているヘルプの種類を理解できない言語を理解できませんでした –
私はすべてのデータが追加されている必要があります。最初と最後のデータだけでなく、 –