#include
#include
using namespace std;
typedef struct data ndt;
typedef struct data *p;
bool a;
struct data
{
int num;
string name;
int ch;
int en;
int ma;
struct data *up;
struct data *next;
};
p creat(int nu,string nam,int chs, int ens,int mas,p dt)
{
if (!a)
{
dt=(p)malloc(sizeof(ndt));
dt->num=nu;
dt->name=nam;
dt->ch=chs;
dt->en=ens;
dt->ma=mas;
dt->up=NULL;
dt->next=NULL;
a=true;
}
else
{
p newdt,temp;
temp=dt;
while(temp->next!=NULL)temp=temp->next;
newdt=(p)malloc(sizeof(ndt));
newdt->num=nu;
newdt->name=nam;
newdt->ch=chs;
newdt->en=ens;
newdt->ma=mas;
newdt->up=temp;
temp->next=newdt;
}
return dt;
}
p search(int num,p dt)
{
p temp;
temp=dt;
while(1)
{
if (temp->num==num) return temp;
if (temp->next!=NULL){temp=temp->next;} else {return NULL;}
}
}
void display(p dt)
{
coutnumnamechenmanext!=NULL)
{
tmp=tmp->next;
coutnumnamechenma>choose;
switch (choose)
{
case 1:
cout>nu;
tmp=search(nu,mydata);
if (tmp==NULL) {coutnumnamechenma>nu;
cout>nam;
cout>chs;
cout>ens;
cout>mas;
mydata=creat(nu,nam,chs,ens,mas,mydata);
break;
case 6:
ifesc=true;
break;
case 7:
display(mydata);
}
}
system("pause");
return 0;
}
每次在进行第三次添加数据时就会出错,想知道问题所在
本人菜鸟一只
|