C语言设计

  • 格式:doc
  • 大小:901.00 KB
  • 文档页数:34

吉林工程技术师范学院 信息工程学院

《C语言程序》课程设计报告

设计题目: 学分管理系统 专 业: 计算机科学与技 班级:c1153 学生姓名: 何冬宇 学号: 18 指导教师: 张少华

2011年12月 I

摘 要 通讯录管理系统是针对用户信息的管理业务进行计算机处理而开发的应用软件。该系统由系统维护、输入、查询、修改、输出、等子模块组成,功能基本涵盖普通用户的管理业务范围。用户应用本系统后,可以有效的提高通讯录管理水平。本文从需求分析、开发平台选择、系统模块建立、数据库设计、功能模块编程实现及软件测试等方面阐述了本应用系统的设计过程。为便于说明,文中绘制了程序结构框图、数据流程图和部分界面图。最后附有主要的源程序代码清单。

关键字:通讯录管理 系统维护 数据汇总 管理系统 软件开发 信息工程学院 《C语言程序设计》课程设计报告

2 目 录 摘 要 „„„„„„„„„„„„„„„„„„„„„„2

第一章 概述 „„„„„„„„„„„„„„„„„„„错误!未定义书签。 第二章 问题定义 „„„„„„„„„„„„„„„„„4 2.1系统的基本功能 „„„„„„„„„„„„„4 2.2系统的设计要求 „„„„„„„„„„„„4 第三章 总体设计与详细设计 „„„„„„„„„„„„5 第四章 编码实现 „„„„„„„„„„„„„„„„„6 第五章 调试与测试 „„„„„„„„„„„„„„„7 第六章 总结与心得 „„„„„„„„„„„„„„„8 致 谢 „„„„„„„„„„„„„„„„„„„„„10 附录1源代码 „„„„„„„„„„„„„„„„„11 信息工程学院 《C语言程序设计》课程设计报告

3 第1章 概述 本课程设计的系统是早已在很多领域均有应用,是一个很不错的学分管理系统,而且其功能更是相当强大、界面更加友好的应用型软件。 而现在我的设计并非是重走旧路,而我的设计主要目的在于学习并深刻地掌握对C语言的基础知识以及其实践经验,更好地在以后的学习中能够更好地运用学习。特别是像这种比较多运用 到一些课本上没有教的知识,比如说,像清屏函数CLRSCR、菜单函数MENU等。许多都是一开始就没有涉及到的知识,在自已的设计中得到了提升,更加重要的一点就是增加了自已的实践操作能力。 信息工程学院 《C语言程序设计》课程设计报告

4 第2章 问题定义 2.1系统的基本功能 实现对通讯录的基本管理,包括: (1)录入:从键盘上录入通讯录的相关信息,包括姓名、手机号(或座机)、 住址、单位等信息(可进行扩充,如生日,email等)。 (2)编辑:修改或删除某条通讯录的信息,在操作前,需先进行查找定位。 (3)查找:按姓名或手机号等有关项进行查找。 (4)显示:将通讯录按某种格式显示出来。 (5)排序:按通讯录有关项进行排序(如按姓名排,或按电话排) (6)读文件:把文件中的信息读到相关的数据结构中。 (7)写文件:将通讯录信息保存到文件中。 (8)复制文件:将记录文件复制给目标文件。

2.2系统的设计要求 (1)数据结构可以使用结构体数组或结构体链表实现,结构体的属性可进行扩充。 (2)上述功能是基本管理功能,学生可增加功能,需编写若干函数来实现相应的功能模块。 (3)对于系统运行时,要求有相应的菜单,可用各种方法实现菜单选择。 信息工程学院 《C语言程序设计》课程设计报告

5 第3章 总体设计与详细设计

3.1系统设计目标 (1)该系统模拟学分管理系统,实现对学分进行管理。此系统采用结构体数组,每个数据的结构相应的包括姓名、性别、年龄、电话号码、学分。有以下功能:1、添加功能:添加个人信息2、查找功能:显示个人信息也可以把文件中的所有信息显示出来3、删除功能:删除个人信息4、修改功能5、数据保存:将录入的信息全部保存下来。 (2)此系统能完成个人信息的录入、显示、修改、添加、保存。 (3)要求在执行一个具体的功能之后,能够让程序显示出主菜单。并且菜单美观、大方、简洁、实用。 (4)可以将录入的数据保存在文件夹中,并可将其调出使用。 主程序流程图如下:

查询记录流程图如下: 信息工程学院 《C语言程序设计》课程设计报告

6 修改记录流程图如下: 修改记录的主要功能是通过不同的修改方式修改学生的信息。先是进入修改界面,再选择修改的方式,输入后,将输出学生的信息,再选择是否修改此记录,选择是,则输入修改的信息。 信息工程学院 《C语言程序设计》课程设计报告

7 第4章 编码实现

主菜单界面 屏幕上出现下图所示的菜单,用户可以根据自己的需要进行选择。

比如说当用户选择按学号查询时,系统将会输出: 信息工程学院 《C语言程序设计》课程设计报告 8 用户根据提示可以方便快捷的使用该程序。 信息工程学院 《C语言程序设计》课程设计报告

9 第5章 系统调试 修改个人信息功能:测试数据:当用户进入到系统,输入3,并按下回车键。则可以根据输入数据。因为系统必须先找到要修改的信息,此时界面上有供选择的,或者按编号查找或者按姓名查找再或者按地址查找。当找到要个人信息时则进行下一步操作。 数据录入:用户可以根据提示依次输入新的编号、新的姓名、新的性别、新的年龄、新的电话、新的地址。然后系统将提示修改成功。这样在后面就可以查找到被修改后的信息了。 在调试过程中出现了一些错误,比如说漏了分号,将%d误写成%s。这些都可以根据程序执行过程中下边的提示来加以改正。 信息工程学院 《C语言程序设计》课程设计报告

10 第6章 设计总结

6.1本系统特色 本系统采用函数将运行时的屏幕变成柔和的蓝色,让人觉得舒服悦目。进入系统时必须输入密码123,这样用户的隐私得到了保护。系统提供添加功能、查找功能、删除功能、修改功能、数据保存,用户可以根据自己的需要随心所欲的使用这些功能。但是由于时间和水平有限,该系统还有一些缺陷,比如说在修改信息时不能只修改其中的一部分数据,而是必须将该人的所有信息全部改,这给用户的使用带来了很多不便。

6.2心得体会 这一次课程设计可谓是让我焦头烂额,手足无措啊。因为我们在大一的时候并没有好好的掌握C语言这一门课程,让我们设计一个无懈可击的程序简直比登天还难。刚开始感觉确实有点力不从心,但是经过一个多星期的学习、摸索,我的程序也终于初具雏形了,我别提有多高兴。虽然在许多的功能方面有所欠缺,但是我觉得我是在进步的。经过2个星期的上机实践学习,给我的不只是疲惫更多的是收获。 课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新月异,当今计算机应用在生活中可以说得是无处不在。因此作为二十一世纪的大学生来说掌握计算机开发技术是十分重要的。 在课程设计过程中,我学到了很多人生的哲理,懂得怎么样去制定计划,怎么样去实现这个计划,并掌握了在执行过程中怎么样去克服心理上的不良情绪,黑夜过去了,我们收获的是黎明。在本次实践中,给我印象最为深刻的是在文件删除程序的编译过程中,先有我的各个子程序都已经信息工程学院 《C语言程序设计》课程设计报告 11 编辑成功,那么这最后的程序就将是我成功的关键。老天不会让我太过顺利,他在这最后的时刻设置的障碍,是要考验我的能力,他要置我于死地?在这个问题的解决上,我打了退堂鼓,我不能忍受长时间的无功而反,时间正在消磨我的意志。没有了柳暗花明的一天,那么我怎么能说经受住了考验?谢谢老师的那句话,她说:人力有所不能及,然而,人的精神是不会败倒的。我鼓起勇气,到处问,到处查资料,黄天不负有心人,我的程序设计终于得以问世。 课程设计到此算是基本结束,在程序设计中暴露出的我自身的问题却是非常明显!! 首先,基础掌握不牢固。许多基本语法尚没有熟练掌握,在设计过程中仍需请教其它同学,更重要研究课本,设计效率底。 其次,经典算法掌握不牢。在完成作业的过程中还需查阅书籍和借鉴他人。 再次,程序量过大的时候,头绪理不清。杂乱无章,无系统性,不便调试和阅览,自己也易于出错。比如说少加分号,大括号,忘了先定义后使用的原则。 回顾此次课程设计,我感慨颇多,的确,自从拿到题目到完成整个编程,从理论到实践,可以学到很多很多的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我们懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对一些前面学过的知识理解得不够深刻,掌握得不够牢固,比如说结构体,指针„„通过这次课程设计之后,我们把前面所学过的知识又重新温故了一遍。