C语言课程设计《通讯录管理系统》的设计与实现.doc
《C语言课程设计《通讯录管理系统》的设计与实现.doc》由会员分享,可在线阅读,更多相关《C语言课程设计《通讯录管理系统》的设计与实现.doc(36页珍藏版)》请在三一办公上搜索。
1、重庆科技学院课程设计报告 院(系):_电子信息工程学院 专业班级: 物联网2013 学生姓名: 学 号: 2013441508 设计地点(单位)_ 计算机基础自主学习中心_设计题目:_通讯录管理系统_ _ 完成日期: 2014年 1月 10日 指导教师评语: _ 成绩(五级记分制):_ _ 指导教师(签字):_ _ 课程设计任务书设计题目:通讯录管理系统的设计与实现学生姓名课程名称C语言课程设计专业班级物联网2013地 点计算机基础自主学习中心起止时间2014.1.6-2014.1.10设计内容及要求内容强化C语言中有关结构体数组及外部文件的内容,独立设计通讯录管理系统,并编程实现以下功能:1
2、、整个系统均用C语言实现;2、利用结构体数组来实现通讯录的数据结构设计;3、系统具有输入、显示、查询、删除、排序、插入,保存、读取基本功能;4、系统的各个功能模块都用函数的形式来实现;5、要求能将学生信息保存在文件中。6、要求能从文件中读取学生信息并进行相关处理。设计参数1、每一条记录应包括一个人的学号、姓名、电话、班级、通讯地址等信息。2、输入功能:进入后可以进行多条记录的输入并保存。3、显示功能:完成全部学生或满足指定条件记录的显示。4、查找功能:完成按学号或姓名查找学生记录,并显示。5、插入功能:按学号顺序插入一条学生记录。6、保存功能:将学生记录保存在自定义名称的文件中。7、读取功能:
3、将保存在文件中的学生记录读取出来。8、排序功能:按学号进行排序。9、有一个文本菜单来调用各个功能。进度要求1.布置设计题目,讲解要求和说明 2014.1.62.确定设计任务,确定具体的功能,熟悉相关知识 2014.1.63.按功能需求确定程序的主要模块 2014.1.7 4.编程实现程序的功能 2014.1.7 2014.1.85.调试并完善程序 2014.1.8 2014.1.96.撰写课程设计报告 2014.1.9 - 2014.1.107. 提交课程设计报告并答辩 2014.1.10参考资料1.谭浩强,C程序设计(第3版),清华大学出版社, 2005.22.谭明金,俞海英,C语言程序设计
4、实例精粹,电子工业出版社,2007.1其它说明.本表应在每次实施前一周由负责教师填写二份,院系审批后交院系办备案,一份由负责教师留用。.若填写内容较多可另纸附后。3.一题多名学生共用的,在设计内容、参数、要求等方面应有所区别。教研室主任:易军 指导教师:熊茜、许莎2014年 1月 2日 目录摘 要III1 设计内容与要求41.1 主要设计内容4利用C语言编写程序,实现对通讯录的管理。通过对程序的编写,让我们熟练的掌握结构体数组、函数调用、排序、选择等各种语句的运用。41.2 基本设计要求42 设计目的和作用52.1 设计目的52.2 系统的作用53 系统分析和设计63.1 软件界面63.2 软
5、件数据结构设计63.2 软件算法设计74 程序功能的算法94.1 输入功能104.2 查找功能114.3 添加功能124.4 保存功能134.5 显示功能144.6 排序功能155 软件测试185.1 主菜单185.2 输入功能185.3 查找功能195.4 增加功能205.5 保存功能215.6 读取功能225.7 排序功能226 总结24参考文献25致谢26附 录(源程序)27摘 要 在这个越来越来趋向于高速运转的社会,一切都开始朝着方便、快捷的方向发展,用程序系统来管理资料可以达到方便快捷的目的,更适应时代的发展和需求。该系统是用来管理通讯录的系统,更加方便资料的管理和查询。该系统支持录
6、入、读取、显示、保存、查询和排序功能,可以节省很多处理资料的时间。关键字:通讯录管理 C语言编程 1 设计内容与要求1.1 主要设计内容利用C语言编写程序,实现对通讯录的管理。通过对程序的编写,让我们熟练的掌握结构体数组、函数调用、排序、选择等各种语句的运用。1.2 基本设计要求(1)整个系统用C语言实现;(2)利用结构体数组来实现通讯录的数据结构设计;(3)具备输入功能,能够录入通讯人的学号、姓名、班级、通讯地址等信息并保存;(4)显示功能,显示已录入的信息;(5)读取功能,通过输入该人的学号读取该人的全部信息;(6)排序功能,按照学号的顺序排列并保存;(7)插入功能,在已有的表格中增加新信
7、息;2 设计目的和作用2.1 设计目的现在这个高速发展的时代,所有的事情都要求速度高效的去完成,如果用人力来管理通讯录,那么处理信息的速度太慢,不能适应时代的需求,修改和查找信息都比较麻烦。该系统就是为了实现对通讯录的高效的处理,节约人力资源。2.2 系统的作用该系统可以快速的对通讯录中的信息进行处理。可以录入信息、增加信息、快速查找、对录入信息进行保存、显示已有信息和对已有信息进行排序。3 系统分析和设计3.1 软件界面 图 3.1.13.2 软件数据结构设计#include#includestruct tongxunluint number;char name30;int tel;char
8、 classes30;char adr30;void input(struct tongxunlu *p,int n);int search(int m,int n);void add(int n);void save(int m,int n);void show(int n);void paixu(int n);3.2 软件算法设计输入相应功能所对应的数字来选择功能,该功能由判断语句实现。int main()int n=0,m,j,x,b;char q10=0;char a300;FILE *fp1;struct tongxunlu *student;fp1=fopen(通讯录.txt,r)
9、;while(fgets(a,299,fp1)!=NULL)n+;printf (输入1启动程序n);scanf (%d,&b);while (b!=-1)printf(欢迎使用该系统nn1.输入联系人n2.查找联系人n3.增加联系人n4.保存n5.读取n6.排序n0.退出程序n);printf(请选择你需要的功能对应的数字(06)n);if(n6)printf(n您的输入有误,请重新输入n);scanf(%d,&n);scanf(%d,&x);switch(x)case 0:printf(已退出程序n);break;case 1:student=(struct tongxunlu *)mal
10、loc(n*sizeof(struct tongxunlu);printf(你想添加的人数n);scanf(%d,&n);input(student,n);break;case 2:printf(请输入你所查找的学号n);scanf(%d,&m);search( n,m);break;case 3:printf(增加的人数n);scanf(%d,&j);add(j);break;case 4:printf(请输入通讯录中你所想保存的学号n);scanf(%d,&m);save(m,n);break;case 5:show(n);break;case 6:paixu(n);break;print
11、f (退出请输入-1t继续请输入1n);scanf (%d,&b);return 0;是图 3.2.1结束i=1?输入相应数字x选择相应功能x=i?功能1功能2功能3输入-1退出,输入1继续X=14 程序功能的算法4.1 输入功能把信息输入到文本文件中。该程序用到了循环语句(for)、判断语句(if()、文件指针(FILE*fp1)和动态空间申请(p=(struct tongxunlu *)malloc(n*sizeof(struct tongxunlu)。输入你想添加的人数,从0开始循环,没进行一次循环+1,直到大于你输入的数为止。void input(struct tongxunlu *p
12、,int n)int i;FILE*fp1;fp1=fopen(通讯录.txt,a);if(fp1=NULL)printf(add errorn);p=(struct tongxunlu *)malloc(n*sizeof(struct tongxunlu);for(i=1;i=n;i+)printf(n依次输入n学号姓名电话班级通讯地址n);scanf(%d,&pi.number);scanf(%s,&pi.name);scanf(%d,&pi.tel);scanf(%s,&pi.classes);scanf(%s,&pi.adr);for(i=1;i=n;i+)fprintf(fp1,%d
13、t,pi.number);fprintf(fp1,%st,pi.name);fprintf(fp1,%dt,pi.tel);fprintf(fp1,%st,pi.classes);fprintf(fp1,%sn,pi.adr);fclose(fp1);4.2 查找功能从已存入的信息中通过学号来查找学号所对应的其它信息,循环语句和判断语句的嵌套使用(for()if()),用到了文件的输入(fscanf(fp1,”%s”,&pi.name)将fp1中的信息赋值给pi,name)。从文件中读出信息赋值给数组中,输入你所要查询的学号,如果两者相等,输出相应的信息。int search(int n,in
14、t m)int i;FILE *fp1;struct tongxunlu *p;p=(struct tongxunlu*)malloc(n*sizeof(struct tongxunlu);fp1=fopen(通讯录.txt,r);if(fp1=NULL)printf(open error!n);for(i=0;in;i+)fscanf (fp1,%d,&pi.number);fscanf (fp1,%s,&pi.name);fscanf (fp1,%d,&pi.tel);fscanf (fp1,%s,&pi.classes);fscanf (fp1,%s,&pi.adr);if(m=pi.n
15、umber)printf (%dt,pi.number);printf (%st,pi.name);printf (%dt,pi.tel);printf (%st,pi.classes);printf (%sn,pi.adr);fclose (fp1);free(p);return 0;printf(该生不存在n);fclose(fp1);free(p);return 0;4.3 添加功能在已有文档中增加新的联系人,与输入功能相似,用到了文件的输入(fprintf(fp1,”%s”,pi.name),将指针pi.name中的信息写入文件指针fp1所指向的文件)。输入你所要添加的人数,然后进入循
16、环,手动录入信息。void add(int n)int i;FILE *fp1;struct tongxunlu *p;p=(struct tongxunlu*)malloc(n*sizeof(struct tongxunlu);fp1=fopen(通讯录.txt,a);if(fp1=NULL)printf(open error!n);for(i=1;i=n;i+)printf(n依次输入n学号姓名电话班级通讯地址n);scanf(%d,&pi.number);scanf(%s,&pi.name);scanf(%d,&pi.tel);scanf(%s,&pi.classes);scanf(%s
17、,&pi.adr);for(i=1;i=n;i+)fprintf(fp1,%dt,pi.number);fprintf(fp1,%st,pi.name);fprintf(fp1,%dt,pi.tel);fprintf(fp1,%st,pi.classes);fprintf(fp1,%sn,pi.adr);fclose(fp1);4.4 保存功能将你所要保存的人的信息从原文件读出并保存到新的文件中,fclose(fp1)(关闭文件指针fp1所指文件,如果不关闭有可能会丢失信息)。void save(int m,int n)int i;FILE *fp1,*fp2;struct tongxunlu
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 通讯录管理系统 语言 课程设计 通讯录 管理 系统 设计 实现
链接地址:https://www.31ppt.com/p-2384732.html