求帮忙!很重要的作业
#include<stdio.h>#include<string.h>
#include<stdlib.h>
#include<conio.h>
typedef struct car
{
char xh[10];
char name[10];
float price;
} stu,*stup;
typedef struct newst
{
stu d;
struct newst *next;
} node,*ll;
void create1list(ll l);
void create2list(ll l);
int original(ll &m);
void incertstu(ll l,int i);
void delstu(ll l,int i);
void display(ll l);
int lenl(ll l);
int menu1();
int menu2();
ll checklist(ll l,char s[]);
int main()
{
ll l=NULL,q=NULL;
int menu,pos;
char xh1[10];
while(1)
{
menu=menu1();
switch(menu)
{
case 0: exit(0);
case 1: if(original(l))
{
if(menu2()==1)
{
create1list(l);
}
else
{
create2list(l);
}
}
break;
case 2: printf("请输入要插入汽车的位置:");
scanf("%d",&pos);
while(pos<1||pos>lenl(l)+1)
{
printf("插入位置不正确,请重新输入:");
scanf("%d",&pos);
}
incertstu(l,pos);
printf("插入操作成功!按任意键继续:");
getch();
break;
case 3: printf("请输入要删除汽车的位置:");
scanf("%d",&pos);
while(pos<1||pos>lenl(l))
{
printf("删除位置不正确,请重新输入:");
scanf("%d",&pos);
}
delstu(l,pos);
printf("删除操作成功!按任意键继续:");
getch();
break;
case 4: display(l);
break;
case 5: printf("请输入需要查找的汽车编码:");
scanf("%s",xh1);
q=checklist(l,xh1);
if(q)
{
printf("该汽车的基本信息:姓名:价格:\n",q->d.name,q->d.price);
printf("请按任意键继续:");
getch();
}
else
{
printf("该汽车不存在!请按任意键继续:");
getch();
}
}
}
return 0;
}
int original(ll &m){
m=new node;
if(m==NULL){
printf("空间分配失败!");
exit(0);
}
else
m->next=NULL;
return 1;
}
int menu1(){
int num;
while(1){
system("cls");
printf("*********************功能*********************\n");
printf("* 1.创建车辆信息 *\n");
printf("* 2.插入车辆信息 *\n");
printf("* 3.删除车辆信息 *\n");
printf("* 4.显示车辆信息 *\n");
printf("* 5.查找车辆信息 *\n");
printf("**********************************************\n");
printf("请输入您需要的功能编号0--5:");
scanf("%d",&num);
fflush(stdin);
if(num<0||num>5){
printf("您输入的编号有误,按任意键继续输入:");
getch();
}
else
break;
}
return num;
}
int menu2(){
int num;
while(1){
system("cls");
printf("********汽车信息创建**********\n\n");
printf("1------头插 2-----尾插\n\n");
printf("请选择(1--2):");
scanf("%d",&num);
fflush(stdin);
if(num<1||num>2){
printf("您输入的编号有误,按任意键继续输入:");
getch();
}
else
break;
}
return num;
}
void create1list(ll l){
stu y;int i,n;
ll p;
printf("请输入您需要创建的汽车辆数:");
scanf("%d",&n);
for(i=1;i<=n;i++){
printf("请输入第%d辆汽车编码:",i);
scanf("%s",y.xh);
printf("请输入该汽车名字:");
scanf("%s",y.name);
printf("请输入该汽车的价格:");
scanf("%f",&y.price);
p=new node;
if(p==NULL){
printf("申请空间失败!");
exit(0);
}
p->d=y;
p->next=l->next;
l->next=p;
}
fflush(stdin);
}
void create2list(ll l)
{
stu y;int i,n;
ll p,q;
q=l;
printf("请输入您需要创建的汽车辆数:");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
printf("请输入第%d辆汽车编码:",i);
scanf("%s",y.xh);
printf("请输入该汽车名字:");
scanf("%s",y.name);
printf("请输入该汽车的价格");
scanf("%f",&y.price);
p=new node;
if(p==NULL)
{
printf("申请空间失败!");
exit(0);
}
p->d=y;
p->next=NULL;
q->next=p;
q=p;
}
fflush(stdin);
}
void incertstu(ll l,int i)
{
stu x;
ll p=l,q;
int j=0;
printf("请输入要插入汽车编码");
scanf("%s",x.xh);
printf("名字:");
scanf("%s",x.name);
printf("请输入该汽车是价格:");
scanf("%f",&x.price);
while(p&&j<i-1)
{
p=p->next;
j++;
}
q=new node;
q->d=x;
q->next=p->next;
p->next=q;
}
void delstu(ll l,int i)
{
ll p=l,q;
int j=0;
while(p->next&&j<i-1)
{
p=p->next;
j++;
}
q=p->next;
p->next=q->next;
delete q;
}
int lenl(ll l)
{
int len=0;
ll p=l;
while(p->next)
{
p=p->next;
len++;
}
return len;
}
void display(ll l)
{
ll p=l->next;
printf("%10s%10s%15s\n","编码","名字","价格(价格:万)\n");
while(p)
{
printf("%10s%10s%15f\n",p->d.xh,p->d.name,p->d.price);
p=p->next;
}
printf("按任意键继续输入:");
getch();
}
ll checklist(ll l,char s[])
{
ll p=l->next;
while(p)
{
if(strcmp(p->d.xh,s)==0)
break;
p=p->next;
}
return p;
}
为什么查找信息时,信息显示不出来,求指教
还有就是怎么随机产生车辆的车龄!