大一C语言电话簿管理系统.doc_第1页
大一C语言电话簿管理系统.doc_第2页
大一C语言电话簿管理系统.doc_第3页
大一C语言电话簿管理系统.doc_第4页
大一C语言电话簿管理系统.doc_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

电话簿管理系统目录一、 设计目的3二、 项目设计的内容3三、 项目设计的要求与数据3四、 项目设计应完成的工作3五、 总体设计(包含几大功能)4六、 详细设计(各功能的具体实现算法)4七、测试分析(包含各功能的测试用例,及测试结果)5八、 总结111、 设计目的进一步加深理解C语言程序设计,通过此次作业,对本学期所学的内容有一个更深的理解,将所学知识融会贯通,进一步培养自己对综合问题的分析和解决实际问题的能力。掌握利用所学知识编写简单程序的技巧,提升自己的实践能力,理论知识等。2、 项目设计的内容对用户的信息(包括姓名、电话)进行管理,包括对用户姓名电话的增加、查找、修改、删除、导出用户信息为txt文件、显示所有用户信息的操作。假设,收集到若干人的姓名电话信息,要求编写一个可以实现上述操作的C语言程序。学习相关开发软件,熟悉建设工程的过程。3、 项目设计的要求与数据1. 用C语言实现程序。2. 对用户信息(姓名、电话号码)进行管理,包括用户信息的增加、查找、修改、删除、导出、显示操作。3. 各个功能的说明 (1)增加用户信息功能:增加后保存至文件,可一次性增加若干条用户信息。 (2)查找用户信息功能:完成按姓名查找电话号码的操作并显示。 (3)修改用户信息功能:通过对姓名进行查找并修改的操作。 (4)删除用户信息功能:删除指定信息的功能。 (5)导出用户信息功能:保存当前所有用户信息为文本文件。 (6)显示用户信息功能:显示出当前所保存的所有用户信息。4、 项目设计应完成的工作(1)编写算法;(2)算法测试,并有具体的测试结果和结果分析;(3)撰写项目设计报告。内容包括:1) 封面扉页2) 设计任务书3) 目录4) 总体设计方案5) 使用说明及运行实例(包括界面)6) 成员设计内容简介7) 项目源程序代码(注意注释的使用)8) 指导教师评语5、 总体设计(包含几大功能)1. 用户信息增加功能2. 用户信息查找功能3. 用户信息修改功能4. 用户信息删除功能5. 用户信息显示功能6. 用户信息导出功能7. 清屏6、 详细设计(各功能的具体实现算法)1. 输入用户信息功能:输入信息包括姓名、电话号码相关信息;可用函数void shuru()实现。同时输入完成后实时保存至文件,使用函数void baocun(int n)实现。2. 查找功能:可用函数void chazhao()实现。若找到就输出。3. 修改功能:可用函数void xiugai()实现。4. 删除功能:可用函数void shanchu()实现。5. 显示功能:可用函数void all()实现。6. 导出功能:可用函数void daochu()实现。7. 清屏功能:使用#include里的system(cls)实现。七、测试分析(包含各功能的测试用例,及测试结果)7.1 源程序#include#include#include#includestruct phonechar name20;char number20;pho100;/用户信息 /*-保存信息子程序-*/ void baocun(int n)int i;FILE *fp;if(fp=fopen(data.pho,a+)=NULL)printf(data is error.n);exit(0);for(i=0;in;i+)fprintf(fp,%s %sn,,phoi.number);fclose(fp);void readwrite()/将文件里的数据写入结构体 FILE *fp;int i;if(fp=fopen(data.pho,a+)=NULL)printf(data is error.n);exit(0);for(i=0;i100;i+)fscanf(fp,%s %sn,,phoi.number);fclose(fp); /*-增加信息子程序-*/ void shuru()printf(=增添成员=n);int i,n,flag=0;printf(请输入成员个数:);scanf(%d,&n); for(i=0;in;i+)printf(请输入姓名、电话号码:);scanf(%s %s,,phoi.number);flag+;baocun(n);if(flag=n) printf(保存成功。n);else printf(保存失败。n);printf(=n);/*-查找信息子程序 -*/void chazhao()printf(=查找成员=n);char ch20;int i,flag=0;printf(请输入查找人的姓名:);scanf(%s,&ch);readwrite();for(i=0;i100;i+)if(strcmp(,ch)=0)/利用字符串进行查找 printf(已查找到该成员:n); printf(%s %sn,,phoi.number); flag=1; if(!flag) printf(该成员不存在.n);printf(=n);/*-删除信息子程序-*/ void shanchu()printf(=删除成员=n);char a10;int i,j,flag=0;FILE *fp;fp=fopen(data.pho,w+);/此处文件打开方式为w+,不能调用readwrite() for(i=0;i100;i+)fscanf(fp,%s %sn,,phoi.number);/将文件里的数据写入结构体 fclose(fp);/在此必须关闭一次文件 printf(请输入要删除人的姓名:);scanf(%s,&a);for(i=0;i100;i+)if(strcmp(,a)=0)/利用字符串进行查找 flag=1;for(j=i;j100-i;j+) phoj=phoj+1; baocun(i);if(flag=1) printf(操作成功。n);if(flag=0) printf(查无此人。n);printf(=n);/*-修改信息子程序 -*/void xiugai()printf(=修改成员信息=n);char ch20;int i,flag=0,flag1=0;FILE *fp;printf(请输入修改人姓名:);scanf(%s,&ch);readwrite();for(i=0;i100;i+) if(strcmp(,ch)=0) flag=1;break; printf(请输入修改后的姓名、号码:);scanf(%s %s,&,&phoi.number);fp=fopen(data.pho,w+);for(i=0;i100;i+)fprintf(fp,%s %sn,,phoi.number);flag1=1;fclose(fp);if(flag=1&flag1=1) printf(修改成功。n);if(flag=0) printf(查无此人。n);if(flag=1&flag1=0) printf(修改失败。n);printf(=n);/*-导出信息子程序-*/ void daochu()int i,flag=0;FILE *fp;readwrite();fp=fopen(电话簿.txt,a+);for(i=0;i100;i+)fprintf(fp,%s %sn,,phoi.number);flag=1;fclose(fp);if(flag=1) printf(导出成功。n);else printf(导出失败。n);/*-显示信息子程序-*/ void all()printf(=显示全部=n);FILE *fp;char ch;fp=fopen(data.pho,r);ch=fgetc(fp);while(ch!=EOF)putchar(ch);ch=fgetc(fp);fclose(fp);printf(=n);void menu()/菜单 printf(=n);printf(1.添加成员n);printf(2.查找成员n);printf(3.删除成员n);printf(4.修改电话簿记录n); printf(5.显示所有联系人n);printf(6.导出电话簿n);printf(7.清屏n);printf(=n);printf(请输入操作序号:);main()printf( 欢迎使用电话簿管理系统 n);int ch;while(1)menu();scanf(%d,&ch);switch(ch)case 1:shuru();break;case 2:chazhao();break;case 3:shanchu();break;case 4:xiugai();break;case 5:all();break;case 6:daochu();break;case 7:system(cls);break;default:printf(输入命令无效,请重新输入!n);7.2 调试与测试7.2.1 主要程序运行结果运行开始(如图7-1) 图7-1选择1输入信息,此处以张三 123456789、李四 789456123、王五 456123789为例(如图7-2) 图7-2选择2查找成员,以查找张三为例(如图7-3) 图7-3选择5显示所有联系人(如图7-4所示) 图7-4选择6导出电话簿(导出文件如图7-5所示) 图7-58、 总结由于许多知识点都没有学过都要靠自己到课外的资料中去查找。在用的时候难免出现这样那样的错误。如开始设计出来的菜单不是预想的那样,而是总个窗中出现混乱。解决的这个问题的办法是调整。一个系统的菜单和提示信息非常重要。如果没有这些用户根本不知道怎么用你设计的这个系统。在设计的调试过程中也无法顺利的完成调试工作。回顾起此次项目设计,我感慨颇多,的确,从拿到题目到完成整个编程,从理论到实践,可以学到很多很多的东西,同时不仅可以巩固了以前所学过的知识。通过这次项目设计使我们懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。通过这次项目设计之

温馨提示

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

评论

0/150

提交评论