1学号1308020248《高级语言程序设计》课程设计报告题目:班级档案管理系统专业:网络工程班级:二姓名:朱和芳指导教师:孙妍姑成绩:计算机与信息工程系2014年5月11日2013-2014学年第二学期计算机与信息工程系《高级语言程序设计》课程设计报告2班级档案管理系统设计总说明一、设计目的运用计算机语言设计班级档案管理,通过此次课程设计,加深对此课程基本知识的理解,提高综合运用知识的能力;掌握本课程的主要内容、课程设计或撰写小论文的步骤和方法;以提高独立分析问题、解决问题的能力,逐步增强实际工程训练。二、设计内容对一个有N个学生的班级,通过该系统实现对该班级学生基本信息进行录入、显示、修改、删除、保存等操作的管理。三、设计方法结合C语言的有关知识,查阅资料,对班级档案管理系统的内容进行构思和设计,在MicrosoftVisualC++6.0平台上完成设计,并进行调试。3目录第一章绪论...............................5第二章需求分析2.1问题描述...............................62.2功能要求...............................62.3算法提示...............................62.4项目开发的目的..........................7第三章概要设计3.1程序模块的组成..........................83.2班级档案管理系统........................83.3各个程序的功能介绍......................93.4系统结构图..............................9第四章模块设计分析4.1程序的模块组成.........................104.2各个函数的主要功能.....................104.3系统的功能模块的划分...................104.4总流程图...............................124.5功能流程图.............................13第五章测试5.1存在的问题..........................145.2测试方案.............................14第六章使用说明书.......................15计算机与信息工程系《高级语言程序设计》课程设计报告4第七章总结...........................17附录A参考文献...............................18B源程代码...............................20计算机与信息工程系《高级语言程序设计》课程设计报告5第一章绪论班级档案管理系统有六种功能,把这六种功能做成六个子函数。在主函数中设计一个菜单对这六个子函数进行管理,来实现对整个系统的操作。根据课题的要求,每个数据的结构应当包括:学号(char)、姓名(char)、性别(char)、年龄(int)、备注(char)。对一个有N个学生的班级,通过该系统实现对该班级学生的基本信息的录入、显示、修改、删除、保存等操作的管理。最后为了以后按照处理后的顺序保存到文件中。计算机与信息工程系《高级语言程序设计》课程设计报告6第二章需求分析2.1问题描述:对一个有N个学生的班级,通过该系统实现对该班级学生的基本信息进行录入、显示、修改、删除、保存等操作的管理。2.2功能要求:1、本系统采用一个包含N个数据的结构体数组,每个数据的结构应当包括:姓名、学号、性别、年龄、备注。2、本系统显示这样的菜单:请选择系统功能项:A、学生基本信息录入B、学生基本信息显示C、学生基本信息保存D、学生基本信息删除E、学生基本信息修改F、学生基本信息查询(1)按学号查询(2)按姓名查询(3)按性别查询(4)按年龄查询G、退出系统3、执行一个具体的功能之后,程序将重新显示菜单。4、将学生基本信息保存到文件中。2.3算法提示1、数据结构:结构体类型数组2、数据库结构:下表构成该系统的基本数据库。姓名学号性别年龄备注计算机与信息工程系《高级语言程序设计》课程设计报告72.4项目开发的目的该系统是简单的班级档案管理系统,能够使老师了解到相应的信息。是争对目前的现状,把管理人员从繁忙的数据统计中解脱出来,使其具有更多地精力去从事教务管理政策的而研究实施,教学计划的制定执行和教学质量的监督检查,从而全面提高教学质量,同时也减轻任课老师的负担,让其有更多的时间投入到教学和科研中,还有学生档案管理的重要性,以及当前的档案管理的现实,为了改善这种情况,使档案管理工作真正步入高效,健康的轨道从而促使我们开发了这个系统,以提高档案管理工作的效率和满足用户的基本需求为目的,实现档案管理。charcharcharintchar计算机与信息工程系《高级语言程序设计》课程设计报告8第三章概要设计3.1程序模块的组成主函数:voidmain()录入函数:voidGetInfo()显示函数:voidDisPlay()保存函数:voidSave()删除函数:voidDelect()修改函数:voidModfiy()查询函数:voidSearch()输出函数:voidprint()1.GetInfo()是录入函数,主要是录入学生的基本信息;2.DisPlay()是显示函数,就是把学生的基本信息显示在电脑上;3.Save()是保存函数,就是把学生基本信息保存下来;4.Delect()是删除函数,把不要的信息删除;5.Modfiy()是修改函数,修改错误的学生基本信息;6.Search()是查询函数,查询学生的基本信息;7.print()是输出函数,输出学生的基本信息。3.2班级档案管理系统structstudent//设定一个内容为学生信息的结构体{charname[10];//名字的长度允许最大为10;charno[10];//学号的长度允许最大为10;charsex;intage;计算机与信息工程系《高级语言程序设计》课程设计报告9班级档案管理系统charbnote[100];//备注的长度允许最大为100;};3.3各个程序的功能介绍主函数:利用无限次循环例如if(;;)while()和switch()语句实现各函数的调用,系统根据输入的数字选项来调用相应的函数。录入函数:用来录入学生的基本信息。显示函数:把录入的学生的基本信息显示在桌面上。保存函数:可以保存学生信息。删除函数:可以删除学生的错误信息。修改函数:可以修改旧的信息。查询函数:方便管理员和学生查询。退出函数:可以用来退出系统以保证学生信息的安全。3.4系统结构图进入菜单信息的录入信息的显示信息的保存信息的删除信息的修改退出系统计算机与信息工程系《高级语言程序设计》课程设计报告10第四章模块设计分析4.1程序的模块组成:主函数:voidmain()录入函数:voidGetInfo()显示函数:voidDispiay()保存函数:voidSave()删除函数:voidDelect()查询函数:voidSearch()修改函数:voidModify()菜单函数:voidmenu_select()4.2各个函数的主要功能:录入函数:录入学生的基本信息;菜单函数:显示系统主菜单;显示函数:显示所有学生信息;查询函数:方便学生查找自己基本的信息;删除函数:删除某学生的信息;保存函数:保存好学生基本信息,以免丢失。4.3系统的功能模块的划分:开始菜单界面功能选择初始化函数录入学生信息显示学生信息保存学生信息计算机与信息工程系《高级语言程序设计》课程设计报告11删除学生信息修改学生信息查询学生信息退出系统结束整个系统除了主函数外,另外还有14个函数,实现七大功能:录入功能、显示功能、保存功能、删除功能、修改功能、查询功能、退出系统功能。各个函数的详细设计说明分明如下:(1)主函数main()利用无限次循环for(;;)和swithch()实现各函数的调用,系统根据输入的数字选项来调用相应的函数。(2)菜单选择函数intmenu_select()这是一个无参函数,主要实现“功能选择”的界面,在这个界面里有显示系统的九项功能,根据每个功能前面的序号进行选择。等执行完每一个函数功能后,返回菜单。(3)代码设计初始化函数STUDENT*init()这是一个无参函数,里面只有两个语句,它的作用是使链表初始化,使head的值为NULL和一个清屏语句。比如:没有这个函数的话,在你没有输入任何数据的情况下,去执行显示功能的时候会显示一些乱码。(4)输入记录函数STUDENT*create()这是一个无参函数,用来执行学生档案的记录的输入,当学生为@时停止输入,函数结束后,带回一个链表头的指针指向下一个学生的信息插在表头。(5)显示记录函数voidprint(STUDENT*head)这是有一个不返回值的有参函数,形参为“链表头的指针”,负责对全部学生成绩的输出,不足之处就是不能就是不能对学生成绩进行分页显示。计算机与信息工程系《高级语言程序设计》课程设计报告124.4总流程图定义6个函数Main()voidGetInfo()voidDisplay()voidSave()voidDelete()voidSearch()voidModify()运行程序退出程序结束计算机与信息工程系《高级语言程序设计》课程设计报告134.5功能流程图开始通过switch函数选择插入功能Voidprint打开文件录入学生基本信息stu[i].namestu[i].nostu[i].sexstu[i].agestu[i].bnote结束关闭并保存文件计算机与信息工程系《高级语言程序设计》课程设计报告14第五章测试5.1存在的问题:在我们编号程序的时候其实还是存在许多问题的,当然这是一个过程,可以说错误基本上是不可避免的,比如说“一些输入格式问题和一些习惯性的问题而导致的错误等等”。我个人认为系统调试需要比较扎实的基本功以及充分的细心,因为C语言中的有些错误是不直接明了的。在这个时候就需要我们耐心的去查找错误,有些错误是由于我们不好的习惯造成的,而且往往很难发现,因为这些错误都是自己平时不怎么注意的。比如花括号的使用,比如分号的使用等等。所以平时调试时得养成良好的习惯,尽量减少出错。5.2测试的方案1.系统验证技术2.系统确认技术3.系统测试技术1.将编好的源代码放到C语言的运行环境中去运行,通过运行找出其中的错误或者是输入不规范的地方,加以改正,还有就是试一下程序能不能运行,是不是满足课程设计题目的要求。2.把已经整理好的源代码放到C语言运行环境去调试一下,就是确认这个源代码是否正确。3.用运行系统测试源程序代码。计算机与信息工程系《高级语言程序设计》课程设计报告15第六章使用说明书按照菜单的提示进行选择,1表示学生信息的录入,先进行信息的录入完成后,按回车键会弹出弹出第二个界面,根据第二个界面进行选择。2表示信息的显示。3表示信息的保存。4表示信息的删除。5表示信息的修改。6表示信息的查询。7表示安全退出系统。当保存好学生的基本信息的时候你可以通过3保存学生的信息,按4是删除,删除成功后再输入你的学号会显示该学生不存在,在按5时会显示要输入密码才能改变信息,按6时会弹出一个由四个选项组成的界面,有按1按学号查询、2按年龄查询、3按性别查询、4按姓名查询。所以只要你根据菜单上操作是不难的,欢迎使用!计算机与信息工程系《高级语言程序设计》课程设计报告16计算机与信息工程系《高级语言程序设计》课程设计报告17第七章总结通过这次课程设计,我觉得自己的知识还远远不够,这次C语言课程设计的“班级档案管理系统”,通过不断调试与修改,最终还是完成了,虽然参考了许多资料,但是自己亲手完成的第一个课程设计,还是挺激动地。这次课程设计充分运用了自己所学的东西,明