帮我看下这个程序问题在哪
#include<stdio.h>
#include<string.h>
#include<conio.h>
#include<stdlib.h>
#include<time.h>
#include<math.h>
#define A 3
void wait ( int seconds )
{
clock_t endwait;
endwait = clock () + seconds * CLOCKS_PER_SEC ;
while (clock() < endwait) {}
}
void dummy(){}
typedef
struct person
{
int num;
char name[20];
char sex;
int age;
char tel[20];
char mobile[30];
struct person *next;
}p;
p *head;
void main()
{
int choice;
void create();void show();
for(;;)
{
printf("请选择下面的一个项目:\n 1.创建\n 2.添加\n 3.查询\n 4.修改\n 5.删除\n 6.显示\n 7.退出\n 8.搞笑\n");
scanf("%d",&choice);
switch(choice)
{
case 1:create();break;
default:break;
}
if(choice==7) break;
if(choice<1||choice>8) printf("输入错误,请重新输入!\n");
}
}
void create()
{
p *cre,*sav;
head=NULL;
cre=(p *)malloc(sizeof p);
printf("请输入,如有未知项输入0即可\n");
printf("请输入联系人编号(1-999)\n");
scanf("%d",cre->num);
printf("请输入联系人姓名\n");
scanf("%s",cre->name);
getchar();
printf("请输入联系人性别\n");
scanf("%c",cre->sex);
printf("请输入联系人年龄\n");
scanf("%d",cre->age);
printf("请输入联系人家庭电话号码\n");
scanf("%s",cre->tel);
printf("请输入联系人手机号码\n");
scanf("%s",cre->mobile);
sav->next=cre;
sav=cre;
printf("输入完成!\n3s后返回主界面\n");
wait(1);printf("3...");wait(1);printf("2...");wait(1);printf("1...\n");wait(1);
}
void show()
{
p *k;
k=head;
while((k->next)!=NULL)
{
printf("******************************\n");
printf("联系人编号:%d\n",k->num);
printf("联系人姓名:%s\n",k->name);
printf("联系人性别:%c\n",k->sex);
printf("联系人年龄:%d\n",k->age);
printf("联系人家庭电话号码:%s\n",k->tel);
printf("联系人手机号码:%s\n",k->mobile);
printf("******************************\n\n\n");
}
}
部分的程序,已经无法运行了,这个链表到底是怎么使用啊,各种迷茫啊,谢谢大家了
[解决办法]
#include<stdio.h>#include<string.h>#include<conio.h>#include<stdlib.h>#include<time.h>#include<math.h>#define A 3void wait ( int seconds ){ clock_t endwait; endwait = clock () + seconds * CLOCKS_PER_SEC ; while (clock() < endwait) {}}void dummy(){}typedefstruct person{ int num; char name[20]; char sex; int age; char tel[20]; char mobile[30]; struct person *next;}p;p *head;void main(){ int choice; void create();void show(); for(;;) { printf("请选择下面的一个项目:\n 1.创建\n 2.添加\n 3.查询\n 4.修改\n 5.删除\n 6.显示\n 7.退出\n 8.搞笑\n"); scanf("%d",&choice); switch(choice) { case 1:create();break; default:break; } if(choice==7) break; if(choice<1||choice>8) printf("输入错误,请重新输入!\n"); }}void create(){ p *cre,*sav; head=NULL; cre=(p *)malloc(sizeof p); printf("请输入,如有未知项输入0即可\n"); printf("请输入联系人编号(1-999)\n"); scanf("%d",&(cre->num)); printf("请输入联系人姓名\n"); scanf("%s",cre->name); getchar(); printf("请输入联系人性别\n"); scanf("%c",&(cre->sex)); printf("请输入联系人年龄\n"); scanf("%d",&(cre->age)); printf("请输入联系人家庭电话号码\n"); scanf("%s",(cre->tel)); printf("请输入联系人手机号码\n"); scanf("%s",cre->mobile); sav->next=cre; sav=cre; printf("输入完成!\n3s后返回主界面\n"); wait(1);printf("3...");wait(1);printf("2...");wait(1);printf("1...\n");wait(1);}void show(){ p *k; k=head; while((k->next)!=NULL) { printf("******************************\n"); printf("联系人编号:%d\n",k->num); printf("联系人姓名:%s\n",k->name); printf("联系人性别:%c\n",k->sex); printf("联系人年龄:%d\n",k->age); printf("联系人家庭电话号码:%s\n",k->tel); printf("联系人手机号码:%s\n",k->mobile); printf("******************************\n\n\n"); }}