资源描述:
《c语言通讯录课程设计-- 通讯录程序设计》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、《C语言课程设计实训报告》题目:通讯录程序设计班级:学生学号:学生姓名:指导老师:提交时间:2016年1月7号成绩:1.系统分析1.1问题描述设计一个通讯录程序,该程序具有以下功能:录入通讯信息;根据姓名修改通讯录成员信息;根据姓名删除通讯录里的成员;根据输入的人名或姓,显示查找到的相应通讯信息;根据姓名查找通讯录成员,并显示相关信息;1.2系统功能分析1,能够先创建一个通讯录2,增加通讯录成员记录3,显示通讯录成员记录4,能够根据姓名查找通讯录成员5,能够修改指定通讯录成员6,能够删除指定通讯录成员2.系统设计主菜单2.1系统总体结构设计显示模块修改模块搜索模块删除模块
2、添加模块3.程序功能的实现:打开文件1.通讯录的创建:fp=NULL??结束程序noYES向文件中输入信息结束程序One.name=”0”?键入文件信息结束程序关闭文件相关代码voidcreat(){structpersonone;fp=fopen(filename,"at+");if(fp==NULL){printf("cannotopenthisfile");exit(0);}fprintf(fp,"%-10s%-20s%-50s","姓名","电话号码","住址");printf("请输入姓名、电话号码及住址(以0结束)");scanf("%s",o
3、ne.name);while(strcmp(one.name,"0")){scanf("%s%s",one.tel,one.addr);fprintf(fp,"%-10s%-20s%-50s",one.name,one.tel,one.addr);scanf("%s",one.name);}fclose(fp);}打开文件2.通讯录的输出:fp=NULL??结束程序One.name=”0”?Yes结束程序No文件是否结束?Noyes关闭文件No输出文件信息关闭文件相关代码:voidoutput(){structpersonone;fp=fopen(filename,"
4、at+");if(fp==NULL){printf("cannotopenthisfile");exit(0);}printf("%20s","通讯录");while(!feof(fp)){fscanf(fp,"%s%s%s",one.name,one.tel,one.addr);printf("%-10s%-20s%-50s",one.name,one.tel,one.addr);}fclose(fp);}打开文件3.通讯录的添加:fp=NULL??结束程序One.name=”0”?结束程序向文件写入信息关闭文件相关代码:voidappend(){s
5、tructpersonone;fp=fopen(filename,"at+");if(fp==NULL){printf("cannotopenthisfile");exit(0);}printf("请输入添加的姓名、电话号码及住址");scanf("%s%s%s",one.name,one.tel,one.addr);fprintf(fp,"%-10s%-20s%-50s",one.name,one.tel,one.addr);fclose(fp);打开文件}4.搜索通讯录成员fp=NULL??yes结束程序输入要查找的姓名no未找到Namekey=nan
6、me?no已找到,显示为关闭文件相关代码:voidsearch(){intk=0;charnamekey[8];structpersonone;printf("请输入姓名:");scanf("%s",namekey);fp=fopen(filename,"at+");if(fp==NULL){printf("cannotopenthisfile");exit(0);}while(!feof(fp)){fscanf(fp,"%s%s%s",one.name,one.tel,one.addr);if(!strcmp(namekey,one.name)){print
7、f("已查到,记录为:");printf("%-10s%-18s%-50s",one.name,one.tel,one.addr);k=1;}}if(!k)printf("对不起,通讯簿中没有此人的记录。");fclose(fp);打开文件}5.删除通讯录成员K=0fp=NULL??结束程序Yes输入要删除的姓名NoK=0Namekey=name?YesK=1K=1?No未找到Yes删除数据关闭文件相关代码:voiddel(){intk=0;longoffset1;charnamekey[15];struc