通讯录C语言程序设计Word格式.docx

上传人:b****6 文档编号:21126981 上传时间:2023-01-27 格式:DOCX 页数:20 大小:17.58KB
下载 相关 举报
通讯录C语言程序设计Word格式.docx_第1页
第1页 / 共20页
通讯录C语言程序设计Word格式.docx_第2页
第2页 / 共20页
通讯录C语言程序设计Word格式.docx_第3页
第3页 / 共20页
通讯录C语言程序设计Word格式.docx_第4页
第4页 / 共20页
通讯录C语言程序设计Word格式.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

通讯录C语言程序设计Word格式.docx

《通讯录C语言程序设计Word格式.docx》由会员分享,可在线阅读,更多相关《通讯录C语言程序设计Word格式.docx(20页珍藏版)》请在冰豆网上搜索。

通讯录C语言程序设计Word格式.docx

//按学号查询

voidsearchbyname();

//按姓名查询

voidsearchbyphone();

//按电话查询

voiddeletemenu();

//删除菜单

voiddeleteall();

//删除所有

voiddeleteone();

//删除单个

voidshowall();

//显示所有

voidreadfromfile();

//读取文件

voidwritetofile();

//写入文件

voiddeletebyid();

//按学号删除

voiddeletebyname();

//按姓名删除

voidlistbyid();

//按学号排序

voidlistbyname();

//按姓名排序

voidlistmenu();

//排序菜单

voidmain()

readfromfile();

while

(1)

mainmenu();

}

voidreadfromfile()//从文件导入

if((fp=fopen("

student.bin"

"

rb"

))==NULL)

printf("

\n\t\t通讯录文件不存在"

);

if((fp=fopen("

wb"

\n\t\t建立失败"

exit(0);

else

\n\t\t通讯录文件已建立"

\n\t\t按任意键进入主菜单"

getch();

return;

fseek(fp,0,2);

/*文件位置指针移动到文件末尾*/

if(ftell(fp)>

0)/*文件不为空*/

rewind(fp);

/*文件位置指针移动到文件开始位置*/

for(num=0;

!

feof(fp)&

&

fread(&

student[num],sizeof(structrecord),1,fp);

num++);

\n\t\t文件导入成功"

\n\t\t按任意键返回主菜单"

\n\t\t通讯录文件中无任何纪录"

voidmainmenu()//主菜单

charchoic;

system("

cls"

\n\t\t********************主菜单********************"

\n\t\t***********1-新添纪录2-查询菜单************"

\n\t\t***********3-删除菜单4-记录排序************"

\n\t\t***********5-保存退出6-不保存退出***********"

\n\t\t************************************************"

\n\t\t请选择:

"

choic=getch();

switch(choic)

case'

1'

:

newrecord();

break;

2'

searchmenu();

3'

deletemenu();

4'

listmenu();

5'

writetofile();

6'

default:

voidsearchmenu()//查询菜单

\n\t\t*******************查询菜单*******************"

\n\t\t**********1-显示所有2-按学号查询************"

\n\t\t**********3-按姓名查询4-按电话查询************"

\n\t\t**********5-返回主菜单************"

showall();

searchbyid();

searchbyname();

searchbyphone();

voiddeletemenu()//删除菜单

if(num==0)

\n\t\t对不起,文件中无任何纪录"

\n\t\t*******************删除菜单*******************"

\n\t\t***********1-删除所有2-删除单个***********"

\n\t\t***********3-返回主菜单***********"

deleteall();

deleteone();

voiddeleteall()//删除所有

\n\t\t确认删除?

(y/n)"

if(getch()=='

y'

fclose(fp);

\n\t\t不能打开文件,删除失败"

num=0;

\n\t\t纪录已删除,按任意键返回主菜单"

voiddeletebyname()//按姓名删除

inta=0;

intfindmark=0;

intj;

intdeletemark=0;

inti;

\n\t\t请输入要删除学生姓名:

scanf("

%s"

name);

for(i=a;

i<

num;

i++)

if(strcmp(student[i].name,name)==NULL)

\n\t\t以下是您要删除的学生纪录:

findmark++;

\n\t\t________________________________"

\n\t\t学号:

%s"

student[i].id);

\n\t\t姓名:

student[i].name);

\n\t\t电话:

student[i].phone);

\n\t\t地址:

student[i].adress);

\n\t\te-mail:

student[i].e_mail);

\n\t\t是否删除?

for(j=i;

j<

num-1;

j++)/*纪录移动,从stud数组中删除之*/

student[j]=student[j+1];

num--;

deletemark++;

\n\t\t删除成功"

if((i+1)<

num)

\n\t\t是否继续删除相同姓名的同学信息?

a=i;

continue;

\n\t\t是否继续删除?

deletebyname();

if((deletemark==0)&

(findmark==0))

\n\t\t没有该同学的纪录"

deletebyid();

elseif(findmark!

=0)

\n\t\t没有重名信息"

voiddeletebyid()//按学号删除

inti,j;

charid[20];

\n\t\t请输入要删除学生学号:

id);

for(i=0;

if(strcmp(student[i].id,id)==NULL)

if(deletemark==0)

voidnewrecord()//添加纪录

\n\t\t****************请输入学生信息****************\n"

\n\t\t输入学号:

&

student[num].id);

\n\t\t输入姓名:

student[num].name);

\n\t\t输入电话号码:

student[num].phone);

\n\t\t输入地址:

student[num].adress);

\n\t\t输入邮编:

student[num].postcode);

\n\t\t输入e-mail:

student[num].e_mail);

num++;

\n\t\t是否继续添加?

(Y/N):

voidshowall()//显示所有

if(num!

\n\t\t***************以下为通讯录所有信息************"

\n\t\t邮编:

student[i].postcode);

\t\t"

if(i+1<

\n\t\t__________________________"

pause"

\n\t\t通讯录中无任何纪录"

\n\t\t按任意键返回主菜单:

voidsearchbyphone()

intmark=0;

\n\t\t******************按电话查找******************"

charphone[10];

\n\t\t请输入学号:

phone);

for(i=0;

if(strcmp(student[i].phone,phone)==0)

\n\t\t**************以下是您查找的学生信息**********"

mark++;

if(mark==0)

\n\t\t没有改学生的信息"

voidsearchbyname()//按姓名查询

\n\t\t*****************按姓名查找*******************"

\n\t\t请输入姓名:

for(i=a;

if(strcmp(student[i].name,name)==0)

\n\t\t*************以下是您查找的学生信息***********"

if((i+1)<

\n\t\t是否继续查找相同名字的学生信息:

if(mark!

\n\t\t没有相同姓名的学生纪录"

voidsearchbyid()//按学号查询

\n\t\t******************按学号查找******************\n"

if(strcmp(student[i].id,id)==0)

voidwritetofile()//写入文件

\n\t\t文件打开失败"

if(fwrite(&

stude

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1