C语言课程设计报告规范版.docx
- 文档编号:13583447
- 上传时间:2023-06-15
- 格式:DOCX
- 页数:12
- 大小:277.65KB
C语言课程设计报告规范版.docx
《C语言课程设计报告规范版.docx》由会员分享,可在线阅读,更多相关《C语言课程设计报告规范版.docx(12页珍藏版)》请在冰点文库上搜索。
C语言课程设计报告规范版
C语言程序设计
课程设计材料
学生姓名:
学号:
系(院):
信息工程学院
专业:
设计(论文)题目:
校园通讯录管理系统
完成日期:
2011年9月10日-2011年9月29日
指导教师:
徐永安
目录
1.设计目的………………………………………………2
2.课程设计内容…………………………………………2
3.系统总体设计…………………………………………2
4.系统详细设计…………………………………………3
5.运行结果………………………………………………4
6.设计心得………………………………………………10
1、设计目的
在《C语言程序设计》课程学习和课程实验,与老师的课外辅导与帮助的基础上,利用VisualC++6.0编译系统编程,通过一定代码量的实际编程,巩固和加深学生对C语言课程的基本知识的理解和掌握,掌握C语言编程和程序调试的基本技能,利用C语言进行基本的软件设计,提高运用C语言解决实际问题的能力检验《C语言程序设计》课程的学习效果,为后续专业课程的学习奠定程序设计基础。
2、课程设计内容
设计一个简易的校园通讯录管理系统。
该题目要求在熟练掌握C语言的基本知识:
数据类型(整形、实型、字符型、指针、数组、结构等);运算类型(算术运算、逻辑运算、自增自减运算、赋值运算等);程序结构(顺序结构、判断选择结构、循环结构);大程序的功能分解方法(即函数的使用)等。
进一步掌握各种函数的应用,包括库函数以及文件的读写操作等。
其中结构体,函数的调用,算法的设计是尤为重要的。
本程序实现的详细功能如下:
(1)输出功能:
输出所有保存的联系人
(2)添加数据功能:
能录入新数据,每个数据包括:
学号,姓名,性别,电话号码,籍贯,邮箱。
当录入重复的学号时,则提示数据录入重复并重新录入
(3)查找功能:
选中此功能后,能按照学号,姓名,电话对数据进行查找,输出符合条件的联系人。
(4)删除功能:
调用查找功能,可以对找到的联系人进行删除操作。
(5)排序功能:
按学号升序输出所有联系人。
(6)修改功能:
按学号查找,可以修改除学号的所有信息。
(7)保存功能:
将所有的添加和删除操作造成的数据变动保存在磁盘上,以便下次读取。
3、系统总体设计
功能整体关系图如下图1:
图1:
整体功能关系图
4、系统详细设计
(1)、系统结构设计
本系统中所使用的全局数据结构:
typedefstructbody
{
charnum[10];/*联系人编号*/
charname[20];/*联系人姓名*/
charsex[10];/*联系人性别*/
charphone[20];/*联系人电话*/
charaddress[20];/*联系人地址*/
charmail[30];/*联系人邮箱*/
}CARD;
(2)、模块接口设计
main()主函数通过switch功能输入1—9实现其相应的功能。
输入学生的基本信息,提示用户输入数据:
1、通过输出函数实现输出所有保存的联系人功能;2、添加数据子函数实现录入新数据功能;3、通过查找子函数实行姓名查找,学号查找和手机号码查找学生;4、通过删除子函数实行成员删除;5、通过功能实现按学号排序输出;6、修改子函数实行数据修改;7、重启函数重新读取磁盘数据以便失误操作后快速恢复工作。
最后,在保存子函数中实现数据到磁盘存储功能。
在每个子函数最后返回数组头指针cp到主函数中,在传到其他函数中实行下一步操作。
以下是各子函数功能实现:
1)voidmain()
在main()函数中直接调用mune()(运行截图如下图2)进行信息提示界面输出。
用一个switch语句可以无限制实行其他功能。
2)输出函数voidlist(CARD*cp,intn)运行截图如下图3
按1可以调用list函数,可以输出所有保存的联系人。
3)输入voidinput(CARD*cp)运行截图如下图4
按2键可以调用input函数,输入联系人的信息并暂时保存在内存中,并统计已有联系人个数。
4)查找intsearch(CARD*cp,intn)运行截图如下图5
按3键根据提示可以选择不同的查找方式,1、num2、name3、phone,查找到后输出到屏幕。
5)删除intdel(CARD*cp,intn)运行截图如下图6
按4键进行删除工作,调用search函数先找出要删除的成员,然后确认是否删除。
6)排序voidsort(CARD*cp,intn)运行截图如下图7
按5键可以调用sort函数利用冒泡排序法按学号从小到大排序,然后调用list函数输出排序后的联系人表。
7)修改voidmodify(CARD*cp,intn)运行截图如下图8
按6键可以调用modify函数修改除学号外的所有信息。
8)保存voidsave(CARD*cp,intn)
按7键调用save函数,将所有的操作保存到磁盘上。
按0键可以退出此系统。
以下是各个模块的流程图:
输出功能:
输入功能:
查找功能:
删除功能:
保存功能:
排序功能:
修改功能:
5、运行结果
显示主菜单目录:
图2:
菜单界面
输出数据:
图3:
数据输出界面
添加数据,统计个数:
图4:
数据输入界面
查询,输入要查询的类别:
图5:
搜索界面
删除(按类别):
图6:
删除界面
按学号从小到大输出:
图7:
排序界面
修改,按类别:
图8:
修改界面
6、设计心得
一开始,我的课程设计并没有花太多的时间,开始和很多的同学一样,想要去网上找一个程序,改改就交差了,所以第一个礼拜就把程序全部都改完了,是一个简单的贪吃蛇程序,代码比较少,但是比较难理解。
之后问了舍友程序是怎么弄的,她说是自己对照模板写的,我打开自己的程序细细的看,觉得和别人的差距真的太大了。
在学习C语言的时候并没有碰到很多的困难,导致我对程序设计的不重视,很多时候一些比较小的程序就懒得编,能抄就抄,可真到了我想编一个程序的时候,我无从下手了。
当时我很沮丧,觉得自己好没用,然后我就开始翻教材,努力让自己回忆一些东西,从网上看了很多设计的实例。
后来我也找了个模板做参照,细细理解,并在里面加入自己比较理解的代码,不会的就XX一下,或是翻翻书。
过程是很痛苦的,但当能运行的那一刹那心情真的是非常高兴,现在看来还是有很多的不完美,比如整个程序没有用链表写,而是用了数组,但链表的知识的确掌握的不好,只能希望在下面的学习中能将链表的知识好好学好。
。
。
。
。
。
回顾整个过程,能反思的东西很多,无论是学习还是做事,都不可以太浮躁,别人怎么想怎么做都是别人的事,安安分分做自己的事,可能过程会很辛苦,但当成果出来的时候所有的痛苦都是值得的。
其实我觉得编程是有理想的人才能做得来的,这条路太苦,只有那些执着于自己梦想的人才有勇气和毅力继续走下去,我希望到最后我们班的同学有更多的人能走上编程的路,牺牲自己的一点,造福于所有人,这种境界是伟大的,是值得尊敬的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 课程设计 报告 规范
![提示](https://static.bingdoc.com/images/bang_tan.gif)