数据结构通讯录管理_第1页
数据结构通讯录管理_第2页
数据结构通讯录管理_第3页
数据结构通讯录管理_第4页
数据结构通讯录管理_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

一、数据结构课程设计目标《数据结构》是计算机专业一门重要的专业技术基础课程,是一门关键性核心课程。《数据结构》课程的目标是使学生学会分析研究计算机加工对象的特性,选择合适的数据结构和存储表示,以及编制相应的实现算法,培养和提高学生程序设计的能力。《数据结构》课程也是一门实践性较强的课程,设置实践环节是十分重要的。本课程设计的目标就是要达到理论与实际应用相结合,提高学生组织数据及编写大型程序的能力,并培养基本的、良好的程序设计技能以及合作能力。二、问题描述编写一个简单的通讯录管理程序。通讯录记录有姓名、地址、电话号码、电子邮箱等4项。三、需求分析1、要求:1)添加:增加一个人的记录到通讯录中;2)显示:在屏幕上显示所以通讯录中的人员信息,应能分屏显示;3)存储:将通讯录信息保存在一个文件中;4)装入:即将文件中的信息读入程序;5)查询:可根据姓名查找某人的相关信息,若找到显示其姓名、地址、电话号码、电子邮箱;6)修改:可修改一个人的除姓名之外的其他信息;2、详细功能如下:A.插入:系统将提示用户输入新添加学生信息,学生信息数据包括姓名、性别、地址、编号、电话等。B.查询:提示用户输入要查找的学生姓名,然后系统用查找函数查找,接着系统使用相关命令输出所查找的学生的全部信息。C.删除:首先提示用户输入要删除的学生姓名,然后调用删除函数,删除该学生的所有相关资料。D.输出后退出系统,退出通讯录管理系统。四、概要设计显示所有联系人1、通讯录管理系统功能说明图:显示所有联系人通讯录管理系统通讯录管理系统添加名片信息删除名片信息显示名片信息导入名片信息查询名片信息修改名片信息保存名片信息退出通讯录2、设计结构体及基本数据成员类型:#include<stdio.h>#include<stdlib.h>#include<string.h>#include<conio.h>structrecord{charnum[10],name[20],tel[20],address[40],unit[10],email[30];}stu[500];intpc=0;FILE*fp;voidmainmenu();//主菜单voidnewrecord();//新名片voidsearchbyname();//按姓名查询voidsearchbynum();//按编号查询voidshowall();//显示所有voidreadfromfile();//读取文件voidwritetofile();//写入文件voiddeletebynum();//按编号删除voiddeletebyname();//按姓名删除voidmodifybynum();//按编号修改voidmodifybyname();//按姓名修改3、实现主程序与各模块的调用关系:voidmainmenu()//主菜单{charchoic;system("cls");printf("\n\t\t********************主菜单********************");printf("\n\t\t***********0-新添名片1-全部显示************");printf("\n\t\t***********2-按编号查询3-按姓名查询************");printf("\n\t\t***********4-按姓名删除5-按编号删除************");printf("\n\t\t***********6-按姓名修改7-按编号修改************");printf("\n\t\t***********8-保存退出9-不保存退出***********");printf("\n\t\t************************************************");printf("\n\t\t请选择:");choic=getch();switch(choic){case'0':newrecord();break;case'1':showall();break;case'2':searchbynum();break;case'3':searchbyname();break;case'4':deletebyname();break;case'5':deletebynum();break;case'6':modifybyname();break;case'7':modifybyname();break;case'8':writetofile();break;case'9':exit(0);default:mainmenu();}}五、详细设计各个操作的算法:1、导入名片信息:voidmain(){readfromfile();while(1){mainmenu();}}voidreadfromfile()//从文件导入{if((fp=fopen("stu.txt","rb"))==NULL){printf("\n\t\t通讯录文件不存在");if((fp=fopen("stu.txt","wb"))==NULL){printf("\n\t\t建立失败");exit(0);}else{printf("\n\t\t通讯录文件已建立");printf("\n\t\t按任意键进入菜单");getch();return;}exit(0);}fseek(fp,0,2);/*文件位置指针移动到文件末尾*/if(ftell(fp)>0)/*文件不为空*/{rewind(fp);/*文件位置指针移动到文件开始位置*/for(pc=0;!feof(fp)&&fread(&stu[pc],sizeof(structrecord),1,fp);pc++);printf("\n\t\t文件导入成功");printf("\n\t\t按任意键返回菜单");getch();return;}printf("\n\t\t文件导入成功");printf("\n\t\t通讯录文件中无任何纪录");printf("\n\t\t按任意键返回菜单");getch();return;}2、删除名片信息:voiddeletebyname()//按姓名删除{inta=0;intfindmark=0;intj;intdeletemark=0;inti;charname[20];printf("\n\t\t请输入要删除的姓名:");scanf("%s",name);for(i=a;i<pc;i++){if(strcmp(stu[i].name,name)==NULL){printf("\n\t\t以下是您要删除的名片纪录:");findmark++;printf("\n\t\t________________________________");printf("\n\t\t编号:%s",stu[i].num);printf("\n\t\t姓名:%s",stu[i].name);printf("\n\t\t电话:%s",stu[i].tel);printf("\n\t\t地址:%s",stu[i].address);printf("\n\t\temail:%s",stu[i].email);printf("\n\t\t________________________________");printf("\n\t\t是否删除?(y/n)");if(getch()=='y'){for(j=i;j<pc-1;j++)/*纪录移动,从stud数组中删除之*/stu[j]=stu[j+1];pc--;deletemark++;printf("\n\t\t删除成功");if((i+1)<pc){printf("\n\t\t是否继续删除相同姓名的名片信息?(y/n)");if(getch()=='y'){a=i;continue;}}printf("\n\t\t是否继续删除?(y/n)");if(getch()=='y')deletebyname();return;}if((i+1)<pc){printf("\n\t\t是否继续删除相同姓名的名片信息?(y/n)");if(getch()=='y'){a=i;continue;}}}elsecontinue;}if((deletemark==0)&&(findmark==0)){printf("\n\t\t没有该名片的纪录");printf("\n\t\t是否继续删除?(y/n)");if(getch()=='y')deletebynum();return;return;}elseif(findmark!=0){printf("\n\t\t没有重名信息");printf("\n\t\t没有该名片的纪录");printf("\n\t\t是否继续删除?(y/n)");if(getch()=='y')deletebynum();return;return;}}voiddeletebynum()//按编号删除{inti,j;intdeletemark=0;charnum[20];printf("\n\t\t请输入要删除的名片编号:");scanf("%s",num);if(pc==0){printf("\n\t\t文件中无任何纪录");printf("\n\t\t按任意键返回菜单");getch();return;}for(i=0;i<pc;i++){if(strcmp(stu[i].num,num)==NULL){printf("\n\t\t以下是您要删除的名片纪录:");printf("\n\t\t编号:%s",stu[i].num);printf("\n\t\t姓名:%s",stu[i].name);printf("\n\t\t电话:%s",stu[i].tel);printf("\n\t\t地址:%s",stu[i].address);printf("\n\t\temail:%s",stu[i].email);printf("\n\t\t是否删除?(y/n)");if(getch()=='y'){for(j=i;j<pc-1;j++)/*纪录移动,从stud数组中删除之*/stu[j]=stu[j+1];pc--;deletemark++;printf("\n\t\t删除成功");printf("\n\t\t是否继续删除?(y/n)");if(getch()=='y')deletebynum();return;}elsereturn;}continue;}if(deletemark==0){printf("\n\t\t没有该名片的纪录");printf("\n\t\t是否继续删除?(y/n)");if(getch()=='y')deletebynum();return;}}3、添加名片信息:voidnewrecord()//添加新名片{printf("\n\t\t****************请输入名片信息****************\n");printf("\n\t\t输入编号:");scanf("%s",&stu[pc].num);printf("\n\t\t输入姓名:");scanf("%s",&stu[pc].name);printf("\n\t\t输入电话号码:");scanf("%s",&stu[pc].tel);printf("\n\t\t输入地址:");scanf("%s",&stu[pc].address);printf("\n\t\t输入单位:");scanf("%s",&stu[pc].unit);printf("\n\t\t输入email:");scanf("%s",&stu[pc].email);pc++;printf("\n\t\t是否继续添加?(y/n):");if(getch()=='y')newrecord();return;}4、显示名片信息:voidshowall()//显示所有名片{inti;system("cls");if(pc!=0){printf("\n\t\t***************以下为通讯录所有信息************");for(i=0;i<pc;i++){printf("\n\t\t编号:%s",stu[i].num);printf("\n\t\t姓名:%s",stu[i].name);printf("\n\t\t电话:%s",stu[i].tel);printf("\n\t\t地址:%s",stu[i].address);printf("\n\t\t单位:%s",stu[i].unit);printf("\n\t\temail:%s",stu[i].email);printf("\t\t");if(i+1<pc){printf("\n\t\t__________________________");system("pause");}}printf("\n\t\t************************************************");}elseprintf("\n\t\t通讯录中无任何纪录");printf("\n\t\t按任意键返回主菜单:");getch();return;}5、查询名片信息:voidsearchbyname()//按姓名查询{intmark=0;inti;inta=0;printf("\n\t\t*****************按姓名查找*******************");charname[20];printf("\n\t\t请输入姓名:");scanf("%s",name);for(i=a;i<pc;i++){if(strcmp(stu[i].name,name)==0){printf("\n\t\t*************以下是您查找的名片信息***********");printf("\n\t\t学号:%s",stu[i].num);printf("\n\t\t姓名:%s",stu[i].name);printf("\n\t\t电话:%s",stu[i].tel);printf("\n\t\t地址:%s",stu[i].address);printf("\n\t\te-mail:%s",stu[i].email);printf("\n\t\t************************************************");mark++;if((i+1)<pc){printf("\n\t\t是否继续查找相同名字的名片信息:(y/n)");if(getch()=='y'){a=i;continue;}elsereturn;}else{printf("\n\t\t按任意键返回菜单");getch();return;}}}if(mark!=0){printf("\n\t\t没有相同姓名的学生纪录");printf("\n\t\t按任意键返回菜单");getch();return;}else{printf("\n\t\t没有相同姓名的名片纪录");printf("\n\t\t按任意键返回菜单");getch();return;}}voidsearchbynum()//按编号查询{intmark=0;inti;inta=0;printf("\n\t\t******************按编号查找******************\n");charnum[10];printf("\n\t\t请输入编号:");scanf("%s",num);for(i=0;i<pc;i++){if(strcmp(stu[i].num,num)==0){printf("\n\t\t**************以下是您查找的名片信息**********");printf("\n\t\t编号:%s",stu[i].num);printf("\n\t\t姓名:%s",stu[i].name);printf("\n\t\t电话:%s",stu[i].tel);printf("\n\t\t地址:%s",stu[i].address);printf("\n\t\te-mail:%s",stu[i].email);printf("\n\t\t************************************************");printf("\n\t\t按任意键返回主菜单:");mark++;getch();return;}}if(mark==0){printf("\n\t\t没有改名片的信息");printf("\n\t\t按任意键返回主菜单");getch();return;}}6、修改名片信息:voidmodifybyname(){intmark=0;inti;inta=0; intj; intfindmark=0; intdeletemark=0;printf("\n\t\t*****************按姓名修改*******************");charname[20];printf("\n\t\t请输入姓名:");scanf("%s",name);for(i=a;i<pc;i++){if(strcmp(stu[i].name,name)==0) { printf("\n\t\t*************以下是您修改的名片信息***********");printf("\n\t\t学号:%s",stu[i].num);printf("\n\t\t姓名:%s",stu[i].name);printf("\n\t\t电话:%s",stu[i].tel);printf("\n\t\t地址:%s",stu[i].address);printf("\n\t\te-mail:%s",stu[i].email);printf("\n\t\t************************************************"); } printf("请输入要修改的内容:");for(j=i;j<pc-1;j++)stu[j]=stu[j+1];pc--;deletemark++;printf("\n\t\t输入编号:");scanf("%s",&stu[pc].num);printf("\n\t\t输入姓名:");scanf("%s",&stu[pc].name);printf("\n\t\t输入电话号码:");scanf("%s",&stu[pc].tel);printf("\n\t\t输入地址:");scanf("%s",&stu[pc].address);printf("\n\t\t输入单位:");scanf("%s",&stu[pc].unit);printf("\n\t\t输入email:");scanf("%s",&stu[pc].email);pc++; printf("\n\t\t是否继续修改?(y/n):");if(getch()=='y')modifybyname; return; }}voidmodifybynum(){intmark=0;inti;inta=0; intj; intfindmark=0; intdeletemark=0;printf("\n\t\t******************按编号修改******************\n");charnum[10];printf("\n\t\t请输入编号:");scanf("%s",num);for(i=0;i<pc;i++){if(strcmp(stu[i].num,num)==0){ printf("\n\t\t**************以下是您修改的名片信息**********");printf("\n\t\t编号:%s",stu[i].num);printf("\n\t\t姓名:%s",stu[i].name);printf("\n\t\t电话:%s",stu[i].tel);printf("\n\t\t地址:%s",stu[i].address);printf("\n\t\te-mail:%s",stu[i].email);printf("\n\t\t************************************************"); } printf("请输入要修改的内容:"); { for(j=i;j<pc-1;j++)stu[j]=stu[j+1];pc--;deletemark++; }printf("\n\t\t输入编号:");scanf("%s",&stu[pc].num);printf("\n\t\t输入姓名:");scanf("%s",&stu[pc].name);printf("\n\t\t输入电话号码:");scanf("%s",&stu[pc].tel);printf("\n\t\t输入地址:");scanf("%s",&stu[pc].address);printf("\n\t\t输入单位:");scanf("%s",&stu[pc].unit);printf("\n\t\t输入email:");scanf("%s",&stu[pc].email);pc++; printf("\n\t\t是否继续修改?(y/n):");if(getch()=='y')modifybynum(); return; }}六、软件说明书1、运行环境:MicrosoftVisualC++6.02、操作步骤:在此,把软件使用过程写出,并对此程序的一些细节和具体的操作方法加以说明,说明如下:将软件进行初始化,即在VC++6.0中运行该程序,进入程序主界面,如下:(1)根据你要添加的学生人数开始创建通讯录,按照系统给您的提示依次输入学生信息,再根据提示进行查找、删除、显示、修改、退出等操作。(2)输入2或3,按Enter键进入查找功能,根据提示输入要查找的名字,有这个名字的话,就会显示您所需要的学生的所有相关信息。如果没有则会提示信息:您要查找的学生信息不存在!(3)输入4或5,按Enter键进入删除功能,根据提示输入要删除的名字,有这个名字的话,就会直接进行删除,并提示按需求删除成功。如果没有则会提示信息:您要删除的学生信息不存在!如果觉得删除不放心,可以再按照名字查找一下!(4)输入6或7,按Enter键进入修改功能,根据提示输入要修改的名字,有这个名字的话,就会直接进行修改,并提示按需求修改成功。如果没有则会提示信息:您要修改的学生信息不存在!如果觉得删除不放心,可以再按照名字查找一下!(5)显示全部学生信息,输入1即可。(6)要退出该程序,输入是保存文件退出,输入9是不保存退出。七、测试报告1、调试分析(1)导入名片信息界面:(2)添加名片信息界面:(3)删除名片信息界面:(4)查找名片信息界面:(5)显示名片信息界面:(6)修改名片信息界面:2、测试结果八、课程设计总结这次的程序实设计实验是对我们进入大学以来学习程序设计语言结果的一次大检验。自己动手,自己发现和解决问题。发现了自己的许多不足。平时没有掌握好的知识在这次实验中彻底暴露出来,经过不断思考,不断查阅资料和上机运行,解决其中大部分问题,当然还存在一些问题没有解决。我相信在以后的学习能够解决好它们。但是,收获还是不小的,我不仅对C的操作有了进一步的掌握,还了解到了程序设计的书写风格及其注释的格式。九、程序源码#include<stdio.h>#include<stdlib.h>#include<string.h>#include<conio.h>structrecord{charnum[10],name[20],tel[20],address[40],unit[10],email[30];}stu[500];intpc=0;FILE*fp;voidmainmenu();//主菜单voidnewrecord();//新名片voidsearchbyname();//按姓名查询voidsearchbynum();//按编号查询voidshowall();//显示所有voidreadfromfile();//读取文件voidwritetofile();//写入文件voiddeletebynum();//按编号删除voiddeletebyname();//按姓名删除voidmodifybynum();//按编号修改voidmodifybyname();//按姓名修改voidmain(){readfromfile();while(1){mainmenu();}}voidreadfromfile()//从文件导入{if((fp=fopen("stu.txt","rb"))==NULL){printf("\n\t\t通讯录文件不存在");if((fp=fopen("stu.txt","wb"))==NULL){printf("\n\t\t建立失败");exit(0);}else{printf("\n\t\t通讯录文件已建立");printf("\n\t\t按任意键进入菜单");getch();return;}exit(0);}fseek(fp,0,2);/*文件位置指针移动到文件末尾*/if(ftell(fp)>0)/*文件不为空*/{rewind(fp);/*文件位置指针移动到文件开始位置*/for(pc=0;!feof(fp)&&fread(&stu[pc],sizeof(structrecord),1,fp);pc++);printf("\n\t\t文件导入成功");printf("\n\t\t按任意键返回菜单");getch();return;}printf("\n\t\t文件导入成功");printf("\n\t\t通讯录文件中无任何纪录");printf("\n\t\t按任意键返回菜单");getch();return;}voidmainmenu()//主菜单{charchoic;system("cls");printf("\n\t\t********************主菜单********************");printf("\n\t\t***********0-新添名片1-全部显示************");printf("\n\t\t***********2-按编号查询3-按姓名查询************");printf("\n\t\t***********4-按姓名删除5-按编号删除************");printf("\n\t\t***********6-按姓名修改7-编号修改************");printf("\n\t\t***********a-保存退出b-不保存退出***********");printf("\n\t\t************************************************");printf("\n\t\t请选择:");choic=getch();switch(choic){case'0':newrecord();break;case'1':showall();break;case'2':searchbynum();break;case'3':searchbyname();break;case'4':deletebyname();break;case'5':deletebynum();break;case'6':modifybyname();break; case'7':modifybynum();break;case'a':writetofile();break;case'b':exit(0);default:mainmenu();}}voiddeletebyname()//按姓名删除{inta=0;intfindmark=0;intj;intdeletemark=0;inti;charname[20];printf("\n\t\t请输入要删除的姓名:");scanf("%s",name);for(i=a;i<pc;i++){if(strcmp(stu[i].name,name)==NULL){printf("\n\t\t以下是您要删除的名片纪录:");findmark++;printf("\n\t\t________________________________");printf("\n\t\t编号:%s",stu[i].num);printf("\n\t\t姓名:%s",stu[i].name);printf("\n\t\t电话:%s",stu[i].tel);printf("\n\t\t地址:%s",stu[i].address);printf("\n\t\temail:%s",stu[i].email);printf("\n\t\t________________________________");printf("\n\t\t是否删除?(y/n)");if(getch()=='y'){for(j=i;j<pc-1;j++)/*纪录移动,从stud数组中删除之*/stu[j]=stu[j+1];pc--;deletemark++;printf("\n\t\t删除成功");if((i+1)<pc){printf("\n\t\t是否继续删除相同姓名的名片信息?(y/n)");if(getch()=='y'){a=i;continue;}}printf("\n\t\t是否继续删除?(y/n)");if(getch()=='y')deletebyname();return;}if((i+1)<pc){printf("\n\t\t是否继续删除相同姓名的名片信息?(y/n)");if(getch()=='y'){a=i;continue;}}}elsecontinue;}if((deletemark==0)&&(findmark==0)){printf("\n\t\t没有该名片的纪录");printf("\n\t\t是否继续删除?(y/n)");if(getch()=='y')deletebynum();return;return;}elseif(findmark!=0){printf("\n\t\t没有重名信息");printf("\n\t\t没有该名片的纪录");printf("\n\t\t是否继续删除?(y/n)");if(getch()=='y')deletebynum();return;return;}}voiddeletebynum()//按编号删除{inti,j;intdeletemark=0;charnum[20];printf("\n\t\t请输入要删除的名片编号:");scanf("%s",num);if(pc==0){printf("\n\t\t文件中无任何纪录");printf("\n\t\t按任意键返回菜单");getch();return;}for(i=0;i<pc;i++){if(strcmp(stu[i].num,num)==NULL){printf("\n\t\t以下是您要删除的名片纪录:");printf("\n\t\t编号:%s",stu[i].num);printf("\n\t\t姓名:%s",stu[i].name);printf("\n\t\t电话:%s",stu[i].tel);printf("\n\t\t地址:%s",stu[i].address);printf("\n\t\temail:%s",stu[i].email);printf("\n\t\t是否删除?(y/n)");if(getch()=='y'){for(j=i;j<pc-1;j++)/*纪录移动,从stud数组中删除之*/stu[j]=stu[j+1];pc--;deletemark++;printf("\n\t\t删除成功");printf("\n\t\t是否继续删除?(y/n)");if(getch()=='y')deletebynum();return;}elsereturn;}continue;}if(deletemark==0){printf("\n\t\t没有该名片的纪录");printf("\n\t\t是否继续删除?(y/n)");if(getch()=='y')deletebynum();return;}}voidnewrecord()//添加新名片{printf("\n\t\t****************请输入名片信息****************\n");printf("\n\t\t输入编号:");scanf("%s",&stu[pc].num);printf("\n\t\t输入姓名:");scanf("%s",&stu[pc].name);printf("\n\t\t输入电话号码:");scanf("%s",&stu[pc].tel);printf("\n\t\t输入地址:");scanf("%s",&stu[pc].address);printf("\n\t\t输入单位:");scanf("%s",&stu[pc].unit);printf("\n\t\t输入email:");scanf("%s",&stu[pc].email);pc++;printf("\n\t\t是否继续添加?(y/n):");if(getch()=='y')newrecord();return;}voidshowall()//显示所有名片{inti;system("cls");if(pc!=0){printf("\n\t\t***************以下为通讯录所有信息************");for(i=0;i<pc;i++){printf("\n\t\t编号:%s",stu[i].num);printf("\n\t\t姓名:%s",stu[i].name);printf("\n\t\t电话:%s",stu[i].tel);printf("\n\t\t地址:%s",stu[i].address);printf("\n\t\t单位:%s",stu[i].unit);printf("\n\t\temail:%s",stu[i].email);printf("\t\t");if(i+1<pc){printf("\n\t\t__________________________");system("pause");}}printf("\n\t\t************************************************");}elseprintf("\n\t\t通讯录中无任何纪录");printf("\n\t\t按任意键返回主菜单:");getch();return;}voidsearchbyname()//按姓名查询{intmark=0;inti;inta=0;printf("\n\t\t*****************按姓名查找*******************");charname[20];printf("\n\t\t请输入姓名:");scanf("%s",name);for(i=a;i<pc;i++){if(strcmp(stu[i].name,name)==0){printf("\n\t\t*************以下是您查找的名片信息***********");printf("\n\t\t学号:%s",stu[i].num);printf("\n\t\t姓名:%s",stu[i].name);printf("\n\t\t电话:%s",stu[i].tel);printf("\n\t\t地址:%s",stu[i].address);printf("\n\t\te-mail:%s",stu[i].email);printf("\n\t\t***********************************************");mark++;if((i+1)<pc){printf("\n\t\t是否继续查找相同名字的名片信息:(y/n)");if(getch()=='y'){a=i;continue;}elsereturn;}else{printf("\n\t\t按任意键返回菜单");getch();return;}}}if(mark!=0){printf("\n\t\t没有相同姓名的学生纪录");printf("\n\t\t按任意键返回菜单");getch();return;}else{printf("\n\t\t没有相同姓名的名片纪录");printf("\n\t\t按任意键返回菜单");getch();return;}}voidsearchbynum()//按编号查询{intmark=0;inti;inta=0;printf("\n\t\t******************按编号查找******************\n");charnum[10];printf("\n\t\t请输入编号:");scanf("%s",num);for(i=0;i<pc;i++){if(strcmp(stu[i].num,num)==0){printf("\n\t\t**************以下是您查找的名片信息**********");printf("\n\t\t编号:%s",stu[i].num);printf("\n\t\t姓名:%s",stu[i].name);printf("\n\t\t电话:%s",stu[i].tel);printf("\n\t\t地址:%s",stu[i].address);printf("\n\t\te-mail:%s",stu[i].email);printf("\n\t\t************************************************");printf("\n\t\t按任意键返回主菜单:");mark++;getch();return;}}if(mark==0){printf("\n\t\t没有改名片的信息");printf("\n\t\t按任意键返回主菜单");getch();return;}}voidwritetofile()//写入文件{inti;if((fp=fopen("stu.txt","wb"))==NULL){printf("\n\t\t文件打开失败");}for(i=0;i<pc;i++){if(fwrite(&stu[i],sizeof(structrecord),1,fp)!=1){printf("\n\t\t写入文件错误!\n");}}fclose(fp);printf("\n\t\t通讯录文件已保存");printf("\n\t\t按任意键退出程序\n\t\t");exit(0);}voidmodifybyname(){intmark=0;inti;inta=0; intj; intfindmark=0; intdeletemark=0;printf("\n\t\t*****************按姓名修改*******************");charname[20];printf("\n\t\t请输入姓名:");scanf("%

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论