C语言课程设计报告

发布 2022-10-03 03:22:28 阅读 5011

中南民族大学。

软件课程设计报告。

电信学院2011级电气信息类专业。

题目手机通讯录管理系统设计。

学生刘军学号11071226

学生王金山学号11071223

指导教师陈心浩老师

2024年6月2日。

目录。手机通讯录管理系统。

摘要 021引言 02

2设计依据及框图 04

2.1设计平台 04

2.2设计思想 05

3各模块功能及主要模块流程图 06

3.1各模块功能简介 06

3.2主要模块功能流程图 08

4软件调试与分析 12

5总结语 16

参考文献 17

附录 17致谢 17

本文设计一个简易的手机通讯录管理系统。该题目要求在熟练掌握c语言的基本知识:数据类型(整形、实型、字符型、指针、数组、结构等);运算类型(算术运算、逻辑运算、自增自减运算、赋值运算等);程序结构(顺序结构、判断选择结构、循环结构);大程序的功能分解方法(即函数的使用)等。

进一步掌握各种函数的应用,包括时间函数、绘图函数,以及文件的读写操作等。其中结构体,函数的调用,算法的设计是尤为重要的。

关键词】通讯录管理信息系统。

1引言。背景:

现代科学技术飞速发展,改变了世界,也改变了人类生活。作为新世纪的大学生应站在时代发展的前沿掌握现代科学技术调整自己的知识结构和能力结构,以适应社会发展的要求。新世纪需要具有丰富现代科学技术知识,能够独立完成面临的任务,充满活力,具有创新意识的人才。

掌握计算机科学技术的应用,无疑是培养新型人才的一个重要环节。现在计算机技术已深入到社会生活的各个角落,与其他学科紧密结合成为推动其他学科发展的有力催化剂,显然计算机技术尤其是程序设计方面对于电信行业的重要性自然不言而喻,作为专业人士,我们有专业背景和计算机应用基础知识,这个优势是其他人难以代替的,因此我们要充分利用自身优势,掌握程序设计,为进一步学习后续课程,及将来发展打好基础。

目的:c综合课程设计是理论联系实际的重要环节,是对学生进行的一次综合性专业设计训练。通过设计使学生获得以下几方面能力,为进一步学习程序设计打基础。

1进一步巩固和加深学生对c语言,数据结构,算法等相关知识的掌握,培养学生文献查阅,设计小型应用软件系统方案,计算机应用,报告撰写等基本技能,培养编程和调试能力,提高软件设计能力;

2培养学生实践动手能力及独立分析和解决实际问题的能力;

3培养学生的团队协作精神,创新意识,严肃认真的治学态度和严谨求实的的工作作风。

2设计依据及框图。

2.1设计平台。

visual c++6.0是微软公司推出的开发win32应(windows 95/98/2000/xp/nt)的、面向对象的可视化集成工具。

它的最大优点就是提供了功能强大的mfc类库。

mfc是一个很大的c++类层次结构,其中封装了大量的类及其函数,这将简化编程工作,大大的减少程序员编写的**数量,使编程工作变得更加轻松容易。

面向window的ide(集成开发环境);集编辑、编译、连接、调试等功能;

两种编程方式:

基于windows api的c编程方式,特点:**效率高,但开发难度和工作量也很高;

基于mfc的c++编程方式,**运行效率相对较低,但开发难度小,开发工作量小,源**效率高。(主流)

2.2设计思想。

功能要求。

(1)查看功能:选择此功能时,列出下列三类选择a 办公类 b 个人类 c 商务类 ,当选中某类时,显示出此类所有数据中的姓名和**号码)

(2)增加功能:能录入新数据(一个结点包括:姓名、**号码、分类(可选项有:

a 办公类 b 个人类 c 商务类)、电子邮件)。例如杨春 135商务类 当录入了重复的姓名和**号码时,则提示数据录入重复并取消录入;录入的新数据能按递增的顺序自动进行条目编号。

(3)拔号功能:能显示出通信录中所有人的姓名,当选中某个姓名时,屏幕上模拟打字机的效果依次显示出此人的**号码中的各个数字,并伴随相应的拔号声音。

(4)修改功能:选中某个人的姓名时,可对此人的相应数据进行修改。

(5)删除功能:选中某个人的姓名时,可对此人的相应数据进行删除,并自动调整后续条目的编号。

(6)查询功能。

总体设计。

首先,因为每个个体有多种信息,所以数据类型采用结构体来储存和整合各个信息;

其次为了摆脱结构体数组存储信息有限,就在结构体的基础上采用了建立动态链表来获取信息;

再就是为了程序实用价值,就采用了文件保存,以便重复使用信息。

最后利用模块来分别实现程序的各个功能。各个模块用函数来实现。在通过主函数来判断输入数字,从而调动函数,实现所需功能。

详细设计

根据功能需要建立添加,查询,分类查看,拨号,删除,修改,快速查找,显示主菜单,显示信息,保存等十多个主模块。在模块中通过调用各个函数来实现功能。

3各模块功能及主要模块流程图。

3.1个函数模块功能简介:

3.1.1主函数调用各个模块,用switch语句判断输入者要使用的

功能,然后调用函数,模块实现功能。

3.1.2 system("cls"):调用库函数实现清屏。

3.1.3 prmenu():显示主菜单函数;

3.1.4 cfile():创建文件或打开文件并返回文件内记录的个数,文件为空则返回0,否则返回1,返回值赋给全局变量count.

3.1.5 rank():返回文件内记录的个数传给全局变量并加1赋值。

给全局变量i,实现新数据能按递增的顺序自动进行编号。

3.1.6 myadd():添加记录函数,可判断记录是否重复,并实现。

件在磁盘上的保存。

3.1.7 mysearch():查询函数,可分别按姓名,**号码,邮箱查询,若记录为0,则提示创建通讯录。

3.1.8 system(“pause”) 暂停,实现对清屏前的屏显。

3.1.9 mykind():按类查询函数,选择办公类,个人类,商务类前面的代号,实现按类查找。

3.1.10 mydial() 拨号函数,对选中的人,模拟打字机输出**号码,并模拟拨号声。

3.1.11 mymodify() 修改函数,实现对选中的人进行信息修改,若记录为0,则提示创建通讯录,查无此人,则提示无此人。

3.1.12 mydelete() 删除函数,实现对选中的人进行信息删除,若记录为0,则提示创建通讯录,查无此人,则提示无此人。

3.1.13 display() 显示全部记录信息函数,若记录为0,则提示创建通讯录。

3.1.14 mylist *readlist()函数返回链表头指针。

3.1.15 eixt():退出应用程序。

3.2主要功能模块流程图。

总流程图。3.2.1添加函数myadd():

3.2.2查询函数mysearch():

3.2.3分类查看函数mykind():

3.2.4拨号函数mydail():

3.2.5修改函数mymodify():

3.2.6删除函数mydelete():

3.2.7显示函数display():

说明:子模块**见电子档。

4软件调试与分析。

4.1主界面:

4.2添加联系人界面:

4.3按姓名查询界面:

4.4分类查询界面:

4.5拨号界面:

4.6修改界面:

4.7删除界面。

4.8显示全部联系人界面:

5总结语。这次课程设计是大学以来的第一次课程设计。也是锻炼我们动手能力的一次很好的机会。但是,万事开头难。这次c语言的程序设计,对于我来说是一个挑战。

刚开始几乎不知道该从何下手。后来通过一些简单题目的编写才有了思路。在整个程序的编写过程中在很多地方都遇到了困难。

例如,对一些算法的设计有很大漏洞等。后来通过翻阅很多书籍,以及同学的讨论下,在克服了重重的困难后,终于成功的运行了课程设计所要求的程序。这次程序设计是在c语言程序的思想下第一次整体完成的程序设计,所以还有很多的不完美的地方,希望老师予以指出和改正。

这次的课程设计虽然一些模块,函数的程序是参照书上和网上完成的。但大部分还是自己编写和修改的。所以这次的程序设计让我受到了很大锻炼,也有了很多感悟。

通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学到的理论知识与实践相结合起来,从理论中得出结论,将结论辅助与理论,才能真正学到知识并写出有用的程序来为他人服务,更为社会服务,所以提高自己的实际动手能力和独立思考的能力是十分重要的。同时通过这次设计,也让我体验到了编程的的乐趣。

总之,这次的课程设计是一次宝贵的经验,它不仅锻炼了我动手的能力,也锻炼了我克服困难,持之以恒的精神。既收获了知识,又磨练了意志。我想这第一次的课程设计必将成为我人生道路上一段美好的回忆。

参考文献】1]c程序设计/谭浩强著。--3版。

--北京:清华大学出版社,2005

2]c程序设计辅导与实训/崔武子,李青,李红豫编著。

---北京:清华大学出版社,2004.1

3]大学计算机应用基础/唐光海,李作主主编。

---北京:电子工业出版社,2009.8

4]程序设计语言实验指导/中南民族大学电子信息工程学院计算机教研室2011.12

附录】 **见电子档。

致谢】本程序在编写过程中,得到了陈心浩老师的指导和帮助。

接实践课程完成之际,向陈老师表示真诚的感谢!

还要感谢我周围的同学,在程序编写及调试过程中他们提出了不少中肯的建议,和参考资料!

最后再次感谢广大网友在程序设计之初提供了比较有价值的参考范本。

c语言课程设计报告 课程设计报告

周口师范学院。课程设计报告。院 系 计算机科学与技术学院 班级。学生姓名学号。设计题目 职工工资管理系统。完成日期 年月日 课程设计任务书。设计题目 工资管理系统 教研室主任指导教师 年月日。摘要11设计内容 任务及具体要求2 1.1设计内容2 1.2设计任务及具体要求2 2概要设计3 2.1该系统...

C语言课程设计报告

华中科技大学计算机科学与技术学院。题目 专业 班级 学号 姓名 成绩 指导教师 完成日期 2016年月日。目录。一 系统需求分析 1 二 总体设计 2 三 数据结构设计 3 四 详细设计 4 五 系统实现 5 六 运行测试与结果分析 6 七 总结 7 八 参考文献 8 九 指导教师评语 9 对所要解...

C语言课程设计报告

c语言。课程设计。商业销售管理系统。学号 121407210 姓名 宋军。班级 软件1202 指导老师 邹姝稚。成绩 2013年6月。一 任务描述。编写一个商品销售管理系统,是其能够拥有商品买卖和库存管理功能。在顾客选购时,需给出输入商品名称,或商品型号,或选择列表进而输入商品编号三种选择,在顾客选...