永发信息网

帮我改下程序 急!!很简单的

答案:2  悬赏:50  手机版
解决时间 2021-05-15 10:12

运行时显示expression syntax in function main和其他3个错误

#include<stdio.h>

#include<string.h>

#include<stdlib.h>

struct Telephone

{

char number[200];

char name[20];

char fia[20];

char addrass[20];

char mail[20];

char telephone[20];

struct Telephone *next;

}student[50];

typedef struct Telephone TEL;

TEL *head=NULL;

void showmenu();

void Appenditem();

void print();

void Finditem1(); void Correct();

void Removeitem();

void Saveandfree();

void Open(); main()

{

char ch;

Open(); while(1)

{

showmenu(); scanf(" %c",&ch);

switch(ch)

{

case '1':Appenditem();

break;

case '2':print(); break;

case '3':Finditem1();

break;

case '4': Removeitem();

print();

break;

case '5': Correct();

break;

case '0':Saveandfree();

exit(0);

break;

default:

printf("选择错误!");

break;

}

}

}

void showmenu()

{

printf("\n*********************通讯录**********************\n");

printf("* \t1.录入信息 *\n");

printf("* \t2.输出信息 *\n");

printf("* \t3.按姓名查询 *\n");

printf("* \t4.删除信息 *\n");

printf("* \t5.修改信息 *\n");

printf("* \t0.保存并退出! *\n");

printf("*************************************************\n");

printf("\t请选择:\n");

}

void Appenditem()

{

TEL *p1=NULL,*p2=NULL;

p1=(TEL *)malloc(sizeof(TEL));

printf("输入编号:\n");

scanf("%s",p1->number);

printf("输入姓名:\n");

scanf("%s",p1->name);

printf("输入单位:\n");

scanf("%s",p1->fia);

printf("输入通讯地址:\n");

scanf("%s",p1->addrass);

printf("输入邮箱:\n");

scanf("%s",p1->mail);

printf("输入联系电话:\n");

scanf("%s",p1->telephone);

p1->next=NULL;

if(head==NULL)

{

head=(TEL *)malloc(sizeof(TEL));

head->next=p1;

}

else

{

for(p2=head;p2->next!=NULL;p2=p2->next);

p2->next=p1;

}

printf("此信息已添加!");

}

void print()

{

TEL *p=NULL;

if(head==NULL)

{

printf("此通讯录中无记录,请输入记录后在使用本功能!\n");

return;

}

printf("*******************通讯录*********************\n");

printf("编号\t姓名\t单位\t通信地址\t 邮箱\t联系电话\n");

for(p=head->next;p!=NULL;p=p->next)

printf("%s\t%s\t%s\t%s\t%s\t%s\n",p->number,p->name,p->fia,p->addrass,p->mail,p->telephone);

}

void Finditem1()

{

TEL *p;

char findname[20];

printf("请输入要查找的姓名:\n");

scanf("%s",findname);

printf("********************通讯录*********************\n");

printf("编号\t姓名\t单位\t通信地址\t 邮箱\t联系电话\n");

for(p=head->next;p!=NULL;p=p->next)

{

if(strcmp(p->name,findname)==0)

printf("%s\t%s\t%s\t%s\t%s\t%s\n",p->number,p->name,p->fia,p->addrass,p->mail,p->telephone);

}

}

void Correct()

{

TEL *p1(TEL *head);

{

struct Telephone *p1;

char name[20];

printf("输入要修改的人名:\n");

scanf("%s",name);

p1=head;

int flag=0;

while(p1!=NULL)

{

if(strcmp(p1->name,name)==0)

{

printf("输入新编号:\n");

scanf("%s",p1->number);

printf("输入新姓名:\n");

scanf("%s",p1->name);

printf("输入新单位:\n");

scanf("%s",p1->fia);

printf("输入新通讯地址:\n");

scanf("%s",p1->addrass);

printf("输入邮箱:\n");

scanf("%s",p1->mail);

printf("输入新联系电话:\n");

scanf("%s",p1->telephone);

flag=1;

}

p1=p1->next;

}

}

printf("修改完成");

}

void Removeitem()

{

char findname[20];

TEL *p=head,*pr=head;

printf("请输入要删除的姓名:\n");

scanf(" %s",findname);

if (head== NULL)

{

printf("无此结点!\n");

return;

}

while ((strcmp(p->name,findname)!=0 )&& p->next != NULL)

{

pr =p;

p =p->next;

}

if(strcmp(p->name,findname)==0)

{if(p==head)

head=p->next;

else

pr->next=p->next;

free(p);

}else

printf("没有要删除的对象\n");

printf("已删除");

}

void Saveandfree()

{

TEL *p=NULL;

FILE *fp;

char *Book="books.txt";

if(head==NULL)

{

printf("\n记录为空!\n");

return;

}

else

p=head->next;

if((fp=fopen(Book,"wb+"))==NULL)

{

printf("\n打不开文件!\n");

return;

}

while(p!=NULL) {

fwrite(p,sizeof(TEL),1,fp);

p=p->next;

}

printf("保存完毕!");

fclose(fp);

for(;head->next!=NULL;)

{

p=head->next;

head->next=head->next->next;

free(p);

}

free(head);

}

void Open()

{

FILE *fp;

TEL *p1=NULL,*p2=NULL,*temp=NULL;

if((fp=fopen("books.txt","rb+"))==NULL)

{

printf("\n*******************通讯录******************\n");

return;

}

head=(TEL *)malloc(sizeof(TEL));

head->next=NULL;

temp=p2=head;

while(! feof(fp)) {

p1=(TEL *)malloc(sizeof(TEL));

temp=p2;

p2->next=p1;

p2=p1;

fread(p1,sizeof(TEL),1,fp);

}

temp->next=NULL;

fclose(fp);
最佳答案

#include<stdio.h>


#include<string.h>


#include<stdlib.h>


struct Telephone


{


char number[200];


char name[20];


char fia[20];


char addrass[20];


char mail[20];


char telephone[20];


struct Telephone *next;


}student[50];


typedef struct Telephone TEL;


TEL *head=NULL;


void showmenu();


void Appenditem();


void print();


void Finditem1(); void Correct();


void Removeitem();


void Saveandfree();


void Open(); void main()


{


char ch;


Open(); while(1)


{


showmenu(); scanf(" %c",&ch);


switch(ch)


{


case '1':Appenditem();


break;


case '2':print(); break;


case '3':Finditem1();



break;


case '4': Removeitem();


print();


break;


case '5': Correct();


break;


case '0':Saveandfree();


exit(0);


break;


default:


printf("选择错误!");


break;


}


}


}



void showmenu()


{


printf("\n*********************通讯录**********************\n");


printf("* \t1.录入信息 *\n");


printf("* \t2.输出信息 *\n");


printf("* \t3.按姓名查询 *\n");


printf("* \t4.删除信息 *\n");


printf("* \t5.修改信息 *\n");


printf("* \t0.保存并退出! *\n");


printf("*************************************************\n");


printf("\t请选择:\n");


}



void Appenditem()


{


TEL *p1=NULL,*p2=NULL;


p1=(TEL *)malloc(sizeof(TEL));


printf("输入编号:\n");


scanf("%s",p1->number);


printf("输入姓名:\n");


scanf("%s",p1->name);


printf("输入单位:\n");


scanf("%s",p1->fia);


printf("输入通讯地址:\n");


scanf("%s",p1->addrass);


printf("输入邮箱:\n");


scanf("%s",p1->mail);


printf("输入联系电话:\n");


scanf("%s",p1->telephone);


p1->next=NULL;


if(head==NULL)


{


head=(TEL *)malloc(sizeof(TEL));


head->next=p1;


}


else


{


for(p2=head;p2->next!=NULL;p2=p2->next);


p2->next=p1;


}


printf("此信息已添加!");


}



void print()


{


TEL *p=NULL;


if(head==NULL)


{


printf("此通讯录中无记录,请输入记录后在使用本功能!\n");


return;


}


printf("*******************通讯录*********************\n");


printf("编号\t姓名\t单位\t通信地址\t 邮箱\t联系电话\n");


for(p=head->next;p!=NULL;p=p->next)


printf("%s\t%s\t%s\t%s\t%s\t%s\n",p->number,p->name,p->fia,p->addrass,p->mail,p->telephone);


}



void Finditem1()


{


TEL *p;


char findname[20];


printf("请输入要查找的姓名:\n");


scanf("%s",findname);


printf("********************通讯录*********************\n");


printf("编号\t姓名\t单位\t通信地址\t 邮箱\t联系电话\n");


for(p=head->next;p!=NULL;p=p->next)


{


if(strcmp(p->name,findname)==0)


printf("%s\t%s\t%s\t%s\t%s\t%s\n",p->number,p->name,p->fia,p->addrass,p->mail,p->telephone);


}


}



void Correct()


{


TEL *p1(TEL *head);


{


struct Telephone *p1;


char name[20];


printf("输入要修改的人名:\n");


scanf("%s",name);


p1=head;


int flag=0;


while(p1!=NULL)


{


if(strcmp(p1->name,name)==0)


{


printf("输入新编号:\n");


scanf("%s",p1->number);


printf("输入新姓名:\n");


scanf("%s",p1->name);


printf("输入新单位:\n");


scanf("%s",p1->fia);


printf("输入新通讯地址:\n");


scanf("%s",p1->addrass);


printf("输入邮箱:\n");


scanf("%s",p1->mail);


printf("输入新联系电话:\n");


scanf("%s",p1->telephone);


flag=1;


}


p1=p1->next;


}


}


printf("修改完成");


}




void Removeitem()


{


char findname[20];


TEL *p=head,*pr=head;


printf("请输入要删除的姓名:\n");


scanf(" %s",findname);


if (head== NULL)


{


printf("无此结点!\n");


return;


}


while ((strcmp(p->name,findname)!=0 )&& p->next != NULL)


{


pr =p;


p =p->next;


}


if(strcmp(p->name,findname)==0)


{if(p==head)


head=p->next;


else


pr->next=p->next;


free(p);


}else


printf("没有要删除的对象\n");


printf("已删除");


}



void Saveandfree()


{


TEL *p=NULL;


FILE *fp;


char *Book="books.txt";


if(head==NULL)


{


printf("\n记录为空!\n");


return;


}


else


p=head->next;


if((fp=fopen(Book,"wb+"))==NULL)


{


printf("\n打不开文件!\n");


return;


}


while(p!=NULL) {


fwrite(p,sizeof(TEL),1,fp);


p=p->next;


}


printf("保存完毕!");


fclose(fp);


for(;head->next!=NULL;)


{


p=head->next;


head->next=head->next->next;


free(p);


}


free(head);


}


void Open()


{


FILE *fp;


TEL *p1=NULL,*p2=NULL,*temp=NULL;


if((fp=fopen("books.txt","rb+"))==NULL)


{


printf("\n*******************通讯录******************\n");


return;


}


head=(TEL *)malloc(sizeof(TEL));


head->next=NULL;


temp=p2=head;


while(! feof(fp)) {


p1=(TEL *)malloc(sizeof(TEL));


temp=p2;


p2->next=p1;


p2=p1;


fread(p1,sizeof(TEL),1,fp);


}


temp->next=NULL;


fclose(fp);
}


修改如下,自己看,都是一些简单错误

全部回答
如果你有系统盘就可以修复一下就行了,如果没有就用360安全卫士先检测,然后在按检测结果去操作就可以了。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
天冷了,可以加衣服;心凉了,该怎么办?¤
问道花妖吃什么书好?
淘宝账单怎么查询手机,淘宝对账单在哪里看
西工区馨而乐地址有谁知道?有点事想过去
为什么我要和他分手又舍不得呢
s=ax**2+bx+c的程序怎样编写顺序程序
2个字的网名
《九鼎记》现在最新更新到那了?来个下载地址
关于太极的诗句,形容太极拳的诗词
郾城区孙世修脚(郾城店)怎么去啊,谁知道地址
车站特价票怎么打?
怎样拒绝所有好友加我
有个人,我特讨厌的那种!可是还要天天接触还
广东省有农村信用社网上银行吗?
现金巴士是什么东西,现金巴士是什么?
推荐资讯
感谢朋友的大餐的句子,怎样用语句形容美食
寻,图片?内如如下
对待爱情是该相信缘分么
学汽修要多长时间
老师的爱像什么一样,老师是什么,老师是什么仿
毕业季语录小学,我即将小学毕业,想要一些关
为什么夜里我总是睡不着?听着伤感的歌拼命哭?
黄陂区武汉老幺农家住宿地址是什么,有没有知
请教数学集合 问题
别人加我QQ时怎么都是拒绝添加
保持健康用英语怎么说(2种)
第八章淤血魔神PK点怎么加
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?