当前位置:文档之家› 《高级语言程序设计》课程设计报告

《高级语言程序设计》课程设计报告

1308020248 2013-2014学年第二学期学号《高级语言程序设计》课程设计报告题目:班级档案管理系统专业:网络工程班级:二姓名:朱和芳指导教师:孙妍姑成绩:计算机与信息工程系2014年5月11日班级档案管理系统设计总说明一、设计目的运用计算机语言设计班级档案管理,通过此次课程设计,加深对此课程基本知识的理解,提高综合运用知识的能力;掌握本课程的主要内容、课程设计或撰写小论文的步骤和方法;以提高独立分析问题、解决问题的能力,逐步增强实际工程训练。

二、设计内容对一个有N个学生的班级,通过该系统实现对该班级学生基本信息进行录入、显示、修改、删除、保存等操作的管理。

三、设计方法结合 C 语言的有关知识,查阅资料,对班级档案管理系统的内容进行构思和设计,在Microsoft Visual C++6.0 平台上完成设计,并进行调试。

目录第一章绪论 (5)第二章需求分析2.1问题描述 (6)2.2功能要求 (6)2.3算法提示 (6)2.4项目开发的目的 (7)第三章概要设计3.1程序模块的组成 (8)3.2班级档案管理系统 (8)3.3各个程序的功能介绍 (9)3.4系统结构图 (9)第四章模块设计分析4.1程序的模块组成 (10)4.2各个函数的主要功能 (10)4.3系统的功能模块的划分 (10)第七章 总结 (17)附录A 参考文献 ............... 18 B 源程代码 (20)4.4 总流程图 .... 4.5 功能流程图 ..第五章 测试5.1 存在的问题 .. . 5.2 测试方案 ....第六章 12 ..13 (14)... 14 (15)第一章绪论班级档案管理系统有六种功能,把这六种功能做成六个子函数。

在主函数中设计一个菜单对这六个子函数进行管理,来实现对整个系统的操作。

根据课题的要求,每个数据的结构应当包括:学号( char )、姓名( char )、性别( char )、年龄( int )、备注( char )。

对一个有 N 个学生的班级,通过该系统实现对该班级学生的基本信息的录入、显示、修改、删除、保存等操作的管理。

最后为了以后按照处理后的顺序保存到文件中。

第二章需求分析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、 数据库结构:下表构成该系统的基本数据库简单的班级档案管理系统,能够使老师了解到相应的信息。

是争对目前的现状, 把管理人员从繁忙的数据统计中解脱出来,使其具有更多地精力去从事教务管理 政策的而研究实施,教学计划的制定执行和教学质量的监督检查, 从而全面提高 教学质量,同时也减轻任课老师的负担,让其有更多的时间投入到教学和科研中, 还有学生档案管理的重要性,以及当前的档案管理的现实,为了改善这种情况, 使档案管理工作真正步入高效,健康的轨道从而促使我们开发了这个系统, 以提 高档案管理工作的效率和满足用户的基本需求为目的,实现档案管理。

第三章概要设计3.1程序模块的组成主函数:void ma in () 录入函数:void Get Info () 显示函数:void DisPlay () 保存函数:void Save () 删除函数:void Delect () 修改函数:void Modfiy()查询函数:void Search () 输出函数:void prin t ()1. Get In fo () 是录入函数,主要是录入学生的基本信息;2. DisPlay ()是显示函数,就是把学生的基本信息显示在电脑上;3.Save ()是保存函数,就是把学生基本信息保存下来;4. Delect ()是删除函数,把不要的信息删除;5. Modfiy ()是修改函数,修改错误的学生基本信息;6.Search ()是查询函数,查询学生的基本信息;2.4项发的该目开 目的系统是7.pri nt ()是输出函数,输出学生的基本信息。

3.2班级档案管理系统struct stude nt // 设定一个内容为学生信息的结构体{char name[10];〃名字的长度允许最大为10;char no[10];// 学号的长度允许最大为10;char sex;int age;char bnote[100];〃备注的长度允许最大为 100; };3.3各个程序的功能介绍主函数:利用无限次循环例如if ( ;; )while ()和switch ()语句实现各函数的调用,系统根据输入的数字选项来调用相应的函数。

录入函数:用来录入学生的基本信息。

显示函数:把录入的学生的基本信息显示在桌面上。

保存函数:可以保存学生信息。

删除函数:可以删除学生的错误信息。

修改函数:可以修改旧的信息。

查询函数:方便管理员和学生查询。

退出函数:可以用来退出系统以保证学生信息的安全。

保存函数:void Save ()删除函数:void Delect ()查询函数:void Search ()修改函数:void Modify ()菜单函数:void menu_ select()4.2各个函数的主要功能:录入函数:录入学生的基本信息;菜单函数:显示系统主菜单;显示函数:显示所有学生信息;查询函数:方便学生查找自己基本的信息;删除函数:删除某学生的信息;保存函数:保存好学生基本信息,以免丢失。

4.3系统的功能模块的划分:开始菜单界面功能选择初始化函数录入学生信息显示学生信息保存学生信息删除学生信息修改学生信息查询学生信息退出系统结束整个系统除了主函数外,另外还有 14 个函数,实现七大功能:录入功能、显示功能、保存功能、删除功能、修改功能、查询功能、退出系统功能。

各个函数的详细设计说明分明如下:( 1)主函数 main ()利用无限次循环for (;;)和swithch ()实现各函数的调用,系统根 据输入的数字选项来调用相应的函数。

(2)菜单选择函数 int menu_select ()这是一个无参函数,主要实现“功能选择”的界面,在这个界面里有显示系 统的九项功能,根据每个功能前面的序号进行选择。

等执行完每一个函数功能后, 返回菜单。

(3) 代码设计 初始化函数STUDENT *init ()这是一个无参函数,里面只有两个语句,它的作用是使链表初始化,使head的值为NULL 和一个清屏语句。

比如:没有这个函数的话,在你没有输入任何数 据的情况下,去执行显示功能的时候会显示一些乱码。

(4) 输入记录函数 STUDENT *create ()这是一个无参函数,用来执行学生档案的记录的输入,当学生为@寸停止输入, 函数结束后,带回一个链表头的指针指向下一个学生的信息插在表头。

(5)显示记录函数 void print ( STUDENT *head这是有一个不返回值的有参函数,形参为“链表头的指针”,负责对全部学生 成绩的输出,不足之处就是不能就是不能对学生成绩进行分页显示。

4.4总流程图定义6个函数Main ()4.5功能流程图开始通过switch 函数选择插入功能void GetI nfovoid Savevoivoid Search ()Mod结束void Delestu[i].name stu[i].no stu[i].sfex stu[i].age/关闭并保存文件J 结束丿--- 第五章测试 ----5.1存在的问题:在我们编号程序的时候其实还是存在许多问题的,当然这是一个过程,可以说错误基本上是不可避免的,比如说“一些输入格式问题和一些习惯性的问题而导致的错误等等”。

我个人认为系统调试需要比较扎实的基本功以及充分的细心,因为C语言中的有些错误是不直接明了的。

在这个时候就需要我们耐心的去查找错误,有些错误是由于我们不好的习惯造成的,而且往往很难发现,因为这些错误都是自己平时不怎么注意的。

比如花括号的使用,比如分号的使用等等。

所以平时调试时得养成良好的习惯,尽量减少出错。

5.2测试的方案1.系统验证技术2.系统确认技术3.系统测试技术1.将编好的源代码放到C语言的运行环境中去运行,通过运行找出其中的错误或者是输入不规范的地方,加以改正,还有就是试一下程序能不能运行,是不是满足课程设计题目的要求。

2.把已经整理好的源代码放到C语言运行环境去调试一下,就是确认这个源代码是否正确。

3.用运行系统测试源程序代码。

第六章使用说明书按照菜单的提示进行选择, 1 表示学生信息的录入,先进行信息的录入完成后,按回车键会弹出弹出第二个界面,根据第二个界面进行选择。

2 表示信息的显示。

3表示信息的保存。

4表示信息的删除。

5表示信息的修改。

6表示信息的查询。

7 表示安全退出系统。

当保存好学生的基本信息的时候你可以通过 3 保存学生的信息,按 4是删除,删除成功后再输入你的学号会显示该学生不存在,在按 5 时会显示要输入密码才能改变信息,按 6 时会弹出一个由四个选项组成的界面,有按 1 按学号查询、 2 按年龄查询、 3 按性别查询、 4 按姓名查询。

所以只要你根据菜单上操作是不难的,欢迎使用!第七章总结通过这次课程设计,我觉得自己的知识还远远不够,这次C 语言课程设计的“班级档案管理系统” ,通过不断调试与修改,最终还是完成了,虽然参考了许多资料,但是自己亲手完成的第一个课程设计,还是挺激动地。

这次课程设计充分运用了自己所学的东西,明白了自己的不足点,由于学艺不精,也遇到了不少麻烦,比如画 E-R 图时,各实体中关系的确定,由于对系统还不够了解而找不到一个准确的词来形容,总体规划材料太多,不易整理;相关数据库没有多注意,这次课程设计的重点只在对整个系统的总体思路设计。

通过这次设计让我明白了,只有通过自己动手才能真正学到东西。

书本知识固然重要,但只有把它运用于实际才会发现自己的不足和错误,才能改进,才能达到学习的最终目标。

以下是我总结出的一些经验:1. 要对系统的功能做出详细的分析,并合理分解任务。

2. 把分解出来的子任务,做成一个相对独立的模块。

3.在设计一个模块之前,要简单构想一下总界面的显示情况。

相关主题