• 424.28 KB
  • 12页

c语言项目报告.pdf

  • 12页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
'电子工程系《C语言编程实践》项目报告第1章概述为了巩固并深化本学年所学的《C语言程序设计基础》和《数据结构》的知识,同时对软件开发过程有一个感性的认识,为以后的软件开发工作打下良好的基础,我们设计并实现一个学生成绩管理系统。该系统具有的功能如下:学生成绩管理系统主要提供成绩查询,方便管理的网上的信息查阅平台,学生可以通过该系统查阅与自己相关信息,查看留言、提交留言。教师可以通过成绩管理系统查阅学生成绩信息,教师信息,查看教师留言、学生留言、提交留言、留言的管理等相关操作。系统管理员可以实现以上的所有功能,还有对学生的添加、删除、修改、教师的添加、删除、修改。本系统的开发语言是C语言,开发工具是MicrosoftVisualC++6.0。本设计主要工作是首先对系统进行需求分析;其次阐述了结构化程序设计的基本思想;然后在需求分析的基础上,详细描述了整体设计过程,包括数据结构的设计、功能模块的设计,最后用C语言编程实现;最后对系统的功能进行测试及结果分析。-1- 电子工程系《C语言编程实践》项目报告第2章需求分析2.1系统功能简述学生成绩管理系统主要提供成绩查询,方便管理的网上的信息查阅平台,学生可以通过该系统查阅与自己相关信息,查看留言、提交留言。教师可以通过成绩管理系统查阅学生成绩信息,教师信息,查看教师留言、学生留言、提交留言、留言的管理等相关操作。系统管理员可以实现以上的所有功能,还有对学生的添加、删除、修改、教师的添加、删除、修改,数据库的备份、数据库的还原等相关操作。根据开发要求,学生成绩管理系统主要应用于教育系统,完成对日常的教学、教务、教师以及学生的计算机化的管理。开发学生成绩管理系统可使学院教职员工减轻工作压力,比较系统地对教务、教学上的各项服务和信息进行管理,同时,可以减少劳动力的使用,加快查询速度、加强管理,以及国家各部门关于信息化的步伐,使各项管理更加规范化。2.2需求规格2.2.1功能需求系统功能列表如表2.1所示。表2.1系统功能列表功能编号功能名称功能描述1功能选择为用户提供进行功能选择的界面。功能选择包括成绩录入、成绩查询、成绩修改、成绩删除、成绩排序及退出2成绩录入根据界面提示,输入成绩数据,对输入数据的合法性(如序号唯一性、数字、日期、性别等)进行检查,输入错误有提示信息并允许重新输入,全部输入正确后将信息保存到文件中3成绩查询界面提示用户输入成绩查询信息,根据用户的输入在已经保存的文件中查询,返回查找结果,结果可以是多条记录。如果没有所查询的记录,需给出“查询无结果”的提示。4成绩修改界面提示用户输入待修改成绩,界面出现待修改记录,如无该记录有提示。在修改界面中根据提示进行修改,所有录入信息要进行合法性检查,修改正确后保存到文件中。5成绩删除界面提示用户输入删除成绩,先查询并显示用户要删除的-2- 电子工程系《C语言编程实践》项目报告记录,如果没有要提示。删除前要求用户确认是否删除。如果删除,文件中删除此记录并保存。6成绩排序根据用户选择的成绩排序以及排序方式(增序或降序)对文件中的记录进行排序并显示7教师录入根据界面提示,输入教师数据,对输入数据的合法性(如序号唯一性、数字、日期、性别等)进行检查,输入错误有提示信息并允许重新输入,全部输入正确后将信息保存到文件中8教师查询界面提示用户输入教师查询信息,根据用户的输入在已经保存的文件中查询,返回查找结果,结果可以是多条记录。如果没有所查询的记录,需给出“查询无结果”的提示。9教师修改界面提示用户输入待修改教师,界面出现待修改记录,如无该记录有提示。在修改界面中根据提示进行修改,所有录入信息要进行合法性检查,修改正确后保存到文件中。10教师删除界面提示用户输入删除教师,先查询并显示用户要删除的记录,如果没有要提示。删除前要求用户确认是否删除。如果删除,文件中删除此记录并保存。11教师排序根据用户选择的教师排序以及排序方式(增序或降序)对文件中的记录进行排序并显示12退出退出系统2.2.2非功能需求(1)用户界面友好。屏幕布局DOS界面,提示信息成绩信息编辑,具有快捷键Ctrl+C错误信息统一明确。(2)系统可靠,异常输入情况下系统能够正常运行。2.3运行环境硬件CPUi3,主存2GB,硬盘200GB操作系统windows32.-3- 电子工程系《C语言编程实践》项目报告第3章概要设计3.1设计方法采用结构化的程序设计方法,进行模块化设计、结构化编程。程序结构分为三种基本类型:顺序结构、分支结构和循环结构。模块划分符合以下三条基本要求:(1)模块在功能上尽可能地单一化、明确化,即模块的凝聚性。(2)模块之间的联系及互相影响尽可能地少,尽量避免逻辑耦合,而仅限于数据耦合。(3)模块的规模应当足够小,易于调试。实施方法:自顶向下、逐步细化。3.2总体设计3.1.1系统结构对学生成绩进行管理的系统,主要划分为以下三个模块:1)操作:包括录入数据、增加人员、删除人员、修改数据。2)查询:包括按总成绩查询、按姓名查询、输出所有学生成绩。3)排名:按总分排名、按语文成绩排名、按数学成绩排名、按英语成绩排名根据需求分析的结果,总体结构如图3.1所示。-4- 电子工程系《C语言编程实践》项目报告图3.1系统功能模块图3.1.2处理流程学生成绩管理系统处理流程如图3.2所示。-5- 电子工程系《C语言编程实践》项目报告yes输入学生case=资料1noyes输出学生case=资料2noyes按学生姓名case=进行排列3noyes添加学生case=资料4yes按姓名查找,case=删除该学生资5料noyes查找并显示case=学生资料6noyes按姓名查找,修改学生资料case=7noyes从文件中case=读入数据8noyes储存学生资case=料并退出系0统-6- 电子工程系《C语言编程实践》项目报告图3.2系统处理流程图3.2接口设计3.2.1用户接口学生成绩管理系统用户界面如图3.3所示。图3.3系统主界面3.2.2外部接口3.2.3内部接口说明本系统之内的各个系统元素之间的接口的安排,如函数接口。XXXX如表3.1所示。表3.1内部接口函数编号函数定义函数说明1voidInput()学生成绩录入2voidDisplay()学生成绩输出3intInsert()学生成绩增加4intDelete()学生成绩删除5voidQuery()学生成绩查询6intXiugai()学生成绩修改7intAddfromText()读入数据8voidWritetoText()写入文件3.3系统数据结构设计3.3.1结构体定义typedefclass{public:-7- 电子工程系《C语言编程实践》项目报告charnum[10];/*学生学号*/charcla[10];/*学生班级*/charname[20];/*学生姓名*/charbyyl[10];/*学生高数成绩*/charjsjzc[20];/*学生英语成绩*/charsjk[10];/*学生C语言成绩*/charjsjyy[20];/*学生体育成绩*/}Student;3.3.2常量定义#defineN23.3.3公共变量定义无3.4系统出错信息设计-8- 电子工程系《C语言编程实践》项目报告第4章详细设计4.1系统主控模块设计本模块的主要功能是说明整个系统的全部功能。具体功能如下:1.学生资料录入2.输出学生资料3.按学生姓名进行排列4.添加学生资料5.按姓名查找,删除该学生资料6.查找并显示学生资料7.按姓名查找,修改该学生资料8.从文件中读入数据9.储存学生资料并退出系统"4.2学生成绩录入模块设计本模块的主要功能是:提示用户输入的学生成绩信息,对信息进行合法性检查,将正确的将成绩信息逐项复制给结构体,插入到链表中并保存到文件中。具体算法如下:(1)提示用户“输入文件名(文件名1-8个字符)”,接收用户输入,如果文件名不合法,转(1)(2)创建该文件,如果文件创建失败,提示“系统问题,无法录入”,结束(3)创建链表,如果出错,提示“系统问题,无法录入”,结束(4)输出“学生ID(5位数字)”的提示信息,接收用户输入的ID(5)如果用户输入的ID不合法,转(4)(6)判断该ID是否已存在,存在输出提示信息“ID已经存在”,转(4)(7)输出“学生姓名(1-12位字符)”的提示信息,接收用户输入的学生姓名(8)检测字符长度是否合法,若不合法,返回(4)-9- 电子工程系《C语言编程实践》项目报告(9)将以上变量的值赋给结构体class(10)将结构体添加到链表中,如果添加不成功,提示“录入信息失败”,结束(11)输出“是否继续添加新信息(Y/N)”,若接收到字符‘Y’,则返回(4)(12)将链表保存到文件中,如果保存不成功,提示“录入信息失败”,结束(13)提示“录入信息成功”(14)关闭文件(15)结束4.2学生成绩输出模块设计本模块的主要功能是:对学生的成绩进行输出。在系统已经录入了学生资料成绩的前提下,使用该功能可以显示所有学生的信息,资料等等。具体包括学生的班级,学号,姓名和各科成绩。在查看学生的资料,成绩各方面的信息后,按任意键就可以返回到主菜单。具体算法如下:-10- 电子工程系《C语言编程实践》项目报告开始输入文件名(1-5位)是文件否打开读文件到链表输出链表提示系统出错关闭文件结束4.3按学生姓名进行排列模块设计本模块的主要功能是:对学生的资料按姓名进行排序。具体算法如下:在系统保存学生资料,成绩的前提下,使用此功能可以对学生的资料按姓名进行排序,这样就方便查找姓氏相同或是相近的同学的资料。4.4添加学生资料模块设计本模块的主要功能是:添加学生资料,成绩。具体算法如下:如果系统有保存学生资料的情况下,想录入学生成绩的话,就不用添加学生资料这模块。如果系统没有保存该学生信息的话,就要使用此模块,在成功添加学生资料后,就可以对该学生进行其他的操作。4.5按姓名查找,删除该学生资料模块设计本模块的主要功能是:删除学生资料。具体算法如下:在系统保存学生资料的前提下,想删除某学生的资料,可以输入学生姓名,系统查找该学生资料后,就可以删除了。由于学生辍学,毕业等原因,及时对系统进行更新,删除一些没用的信息,可以使系统更加优化。-11- 电子工程系《C语言编程实践》项目报告4.6查找并显示学生资料模块设计本模块的主要功能是:查找学生资料。具体算法如下:在系统保存了某学生资料的前提下,想要查找该学生资料,可以输入该学生姓名,这样系统就会显示该学生资料和各科成绩等信息。4.7按姓名查找,修改学生资料模块设计本模块的主要功能是:修改学生资料。具体算法如下:在系统保存了某学生资料的前提下,想要查找该学生资料,可以输入该学生姓名,系统就会显示该学生资料和各科成绩等信息,这样就可以修改该学生的资料,成绩等信息。4.8从文件中读入数据模块设计本模块的主要功能是:读入数据。具体算法如下:由于一些资料可以用Word文档或Excel表格输入,故在此模块中增加了导入数据的功能。这样就方便很多,不用把学生资料一个一个添加,节省了很多时间精力。4.9储存学生资料并退出系统模块模块设计本模块的主要功能是:储存学生资料。具体算法如下:在对系统进行一系列操作,比如添加、删除、修改学生资料后,对系统的最新操作进行保存,及时更新系统,方便下一次的操作。-12-'