最新版C语言毕业课程设计报告通讯录.docx
《最新版C语言毕业课程设计报告通讯录.docx》由会员分享,可在线阅读,更多相关《最新版C语言毕业课程设计报告通讯录.docx(23页珍藏版)》请在冰豆网上搜索。
![最新版C语言毕业课程设计报告通讯录.docx](https://file1.bdocx.com/fileroot1/2022-10/13/b774af82-69c2-4aea-a3ab-8ccdf5298ed5/b774af82-69c2-4aea-a3ab-8ccdf5298ed51.gif)
最新版C语言毕业课程设计报告通讯录
《C语言程序设计》
课程设计报告书
题目:
通讯录程序设计
系别:
计算机工程系
专业:
计算机网络
设计班级:
网12
姓名:
胡玉婷
学号:
指导教师:
赵耀军、杨新爱
二○一一年六月七日
一、课程设计(论文)的内容
编写学生通讯录程序,包括以下功能模块:
1、通讯录的每一条信息包括学号、姓名、电话(字符数组)。
2、输入功能:
可以一次完成若干条信息的输入。
3、显示功能:
完成全部通讯录信息的显示。
4、查找功能:
完成按姓名查找通讯信息,并显示。
5、增加功能:
增加通讯信息。
6、删除功能:
完成按姓名删除通讯信息。
7、将通讯录信息存在文件addrbook中。
8、应提供一个界面来调用各个功能,调用界面和各个功能的操作界面应尽可能清晰美观!
二、课程设计(论文)的要求与数据
1、用C语言实现系统;
2、利用结构体数组或动态链表实现学生通讯录的数据结构设计;
3、系统具有增加,查询,删除等基本功能;
4、系统的各个功能模块要求用函数的形式实现;
5、将通讯录信息存在文件中;
6、完成设计任务并编写课程设计说明书。
7、每个同学提交源程序(*.c),可执行程序(*.exe),保存通讯录信息的文件addrbook,课程设计说明书电子文档(word)。
每班交一张光盘,包含所有学生的资料(按学号排序),每个学生的资料放在以学号姓名命名的文件夹中。
三、课程设计(论文)应完成的工作
1.完成程序的编制、调试,并能正确运行。
2.完成课程设计说明书的编写,其内容包括
(1)封面
(2)任务书
(3)目录
(4)正文
(1)总体设计(包含几大功能模块)。
(2)详细设计(各功能模块的具体实现算法——流程图)
(3)数据结构设计描述,各模块(函数)的功能介绍,参数说明等。
(4)调试分析(包含各模块的测试用例,及测试结果。
)
(5)总结(课程设计完成了哪些功能,还有哪些地方需要改进,及通过一周的课程设计有何收获,调试程序的体会等)
(5)参考文献
四、应收集的资料及主要参考文献
[1]谭浩强著.C程序设计(第三版).北京:
清华大学出版社,2005
[2]谭浩强著.C程序设计题解与上机指导.北京:
清华大学出版社,2005
目录
一、总体设计(包含几大功能模块)4
二、详细设计(各功能模块的具体实现算法——流程图)5
第一个函数为输入函数:
5
第二函数为显示函数:
5
第三个函数为查找函数:
5
第四为排序函数6
第五为插入函数:
6
第六删除函数.7
三、数据结构设计描述,各模块(函数)的功能介绍,参数说明等9
(一):
结构设计描述9
(二)功能介绍9
四、调试分析(包含各模块的测试用例,及测试结果)。
12
五、总结(课程设计完成了哪些功能,还有哪些地方需要改进,及通过一周的课程设计有何收获,调试程序的体会等)16
六、参考文献16
一、总体设计(包含几大功能模块)
1、输入功能
2、显示功能
3、查找功能
(1)用学号查找
(2)用姓名查找
4、删除功能
5、插入功能
6、排序功能
7、复制功能
二、详细设计(各功能模块的具体实现算法——流程图)
第一个函数为输入函数:
N-S流程图:
定义整型变量i,j.
for(i=0;i输入学生的学号.姓名、性别。
sum=0
打开文件“score.dat”
将数据写入文件
关闭文件
第二函数为显示函数:
N-S流程图:
打开文件“stu.dat”
将数据读出显示出来
关闭文件
第三个函数为查找函数:
N-S流程图:
定义整型i,n,定义字符型数组
打文件“stu.dat”
将文件数据读出并确定记录个数n
关闭文件
打印“输入学号”
输入要查找的学号
输入学号分别与文件中各学号对比
是相同
不同
把这个学号对应学生资料打印出来
第四为排序函数:
N-S流程图
定义整型I,j,n,结构体变量structstudenttemp
打开文件
将文件数据读出并确定记录个数n
关闭文件
for(I=0;Ifor(j=i+1;jstrcmp(stu[i].num,stu[j].num)>0)
T
F
交换I,j两项
打开文件
for(I=0;I排好n个记录写入文件
显示该记录的学号、姓名
关闭文件
第五为插入函数:
N-S流程图:
定义整型i,j,n结构体变量s
打印”输入学号:
”
输入学号
打印”输入姓名:
”
输入姓名
打印”输入电话:
”
输入电话
打开文件stu.dat
将文件数据读出并确定记录个数n
关闭文件
使新记录赋给stu[n],n=n+1
打开文件
for(i=0;i向文件输出数据并显示
关闭文件
第六删除函数.
N-S流程图:
定义整形i,j,n,flag,字符数组name
打开文件stu.dat
读取文件数据并确定记录个数n
关闭文件
n=i
输入待删除学生的姓名name
For(flag=1,i=0,flag&&strcmp(name,stu[i].name)==0
T
F
for(j=i;j将第j+1个学生的数据移到第j个
flag=1
Flag=1
T
F
n=n-1
显示"没有发现"
打开stu.dat文件
for(i=0;i将第i个学生的数据写入文件并显示
关闭文件
三、数据结构设计描述,各模块(函数)的功能介绍,参数说明等
(一):
结构设计描述
用#include#include命令;用宏定义SIZE以便修改学生数目;定义结构体用于输入学生数据资料。
主函数,main()前不加void编译系统会提示funstionshouldreturnavalue,不过不会出错。
在主函数开头先声明子函数,设一界面菜单,用do-while语句实现不断执行直到选择退出。
(二)功能介绍
1输入功能
可以一次完成若干条信息的输入。
并将输入的数据保存在文件stu.dat中.
2显示功能
如,将上面的输入的数据显示出来:
*********************************************************
No.namephone
*********************************************************
06693宋昌恩234567
06694王淑其234568
06695王壮辉234569
06696吴浩龙234570
*********************************************************
3查找功能
在主函数开头先声明子函数,设一界面菜单,用do-while语句实现不断执行直到选择学号或姓名查找、还是退出。
(1)用学号查找
定义字符型数组用于输入要查找的学生学号。
如:
输入学号:
06694
显示
Inputnum:
06694
***************************************
Therecordyousearchis
:
No.namephone
06694王淑其234568
***************************************
(2)用姓名插入功能
用姓名查找该学生的资料:
(姓名跟学号一样都是字符型,在比较输入的姓名/学号都是用strcmp()实现的。
原理一样。
只是把学号换成姓名。
如:
输入姓名:
打印结果跟上一题一样。
)
如输入姓名王淑其
显示
Inputname:
王淑其
***************************************
Therecordyousearchis
:
No.namephone
06694王淑其234568
***************************************
4删除功能
按姓名删除若有两个一样的姓名则两个一起删除;删除后把新的记录写人文件并显示出来;
5增加功能
可无限的增加记录;记录后把新的记录写人文件并显示出来;
6排序功能
可根据学好由小到大排序;排序后新的记录写人文件并显示出来;
原来的记录为:
显示:
***********************************
No.namephone
●**********************************
06694王淑其234568
06693宋昌恩234567
06695王壮辉234569
06696吴浩龙234570
***********************************
排序后的结果显示:
No.namephone
**************************************
06693宋昌恩234567
06694王淑其234568
06695王壮辉234569
06696吴浩龙234570
**************************************
7复制功能
可把当前记录从stu.dat复制到别的文件;
四、调试分析(包含各模块的测试用例,及测试结果)。
1输入功能
请选择(0~7):
0
Inputscoreofstudent1:
NO.:
06694
name:
王淑其
phone:
234568
Inputscoreofstudent2:
NO.:
06693
name:
宋昌恩
phone:
234567
Inputscoreofstudent3:
NO.:
06695
name:
王壮辉
phone:
234569
Inputscoreofstudent4:
NO.:
06696
name:
吴浩龙
phone:
234570
Inputscoreofstudent5:
NO.:
00
name:
陈
phone:
234571
2显示功能
请选择(0~7):
1
***********************************
No.namephone
******************