桂电算法及数据结构课设学生成绩管理系统课程设计报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
编号:
数据结构与算法课程设计
说明书
题目:学生成绩管理系统
学院:计算机科学与工程学院
专业:计算机科学与技术
学生姓名:
学号:
指导教师:
2013年9 月28 日
目录
引言 (2)
1 系统概述 (3)
2 需求分析 (3)
2.1 系统需求 (3)
2.2 开发环境 (4)
3 详细设计 (5)
4 所遇到的问题和分析解决 (14)
5 系统特殊与关键技术 (15)
6 总结心得 (15)
7 参考文献……………………………………………………………附录……………………………………………………………………
引言
通过本课程设计,使自己更加系统地理解和掌握数据结构的基本概念;能自如地根据实际要求,设计相应的数据结构,并运用C或C++语言实现所设计的算法,编写较大型的程序,分析和解决实际应用问题,进一步加深、巩固所学专业课程的基本理论知识,理论联系实际,进一步培养自己综合分析问题和解决问题的能力。掌握C语言或C++语言独立的编写、调试应用程序和进行其它相关设计的技能。
此项目主要是考察我们对结构体、数组、文件等具体操作,以及对C语言语法的掌握,所以做成此项目要求比较高的设计要求,对整体有很熟悉的概括,同时调试过程也是很重要的,对程序界面的要求也比较高,要设计的合理同时也要美观一点,能够人性化的描述清楚你的各个功能,一目了然,对其他用户使用本程序简单易懂,这才能成本程序或本系统是成功的。
对于学生成绩管理系统,此项目每年都有学生去做,但是能够在其他项目中脱颖而出,还要有自己的设计特色,用简单的语言详细描述系统的功能,这才是关键。
这个设计能够练习我们的理解和运用结构化程序设计的思想和法,掌握开发一个小型实用系统的基本法,学会调试一个比较长的程序的基本法,同时掌握书写程序设计开发文档的能力。
1、系统概述
1、课程设计应完成的工作
(1)编写算法
(2)算法测试,并有具体的测试结果和结果分析
(3)撰写课程报告,容包括:
①封面
②目录
③课程设计报告正文
④使用说明
⑤参考文献
2、总体设计工作(包含几大功能模块)
(1)输入学生信息并保存到文件
(2)读取文件并输出学生信息
(3)按学号及学期查询
(4)按姓名及学期查询
(5)按学号及学期修改信息
(6)插入信息
(7)按学号及学期删除信息
(8)按数据结构降序(冒泡)排序
(9)按总分降序(选择)排序
(10)统计各科成绩的总分和平均分
(11)退出
1、需求分析
1.1 系统需求
(1)问题描述:
该系统实现对若干个大学生的学习成绩进行管理。至少包括以下信息:
学号、姓名、科目、成绩,学期。学期取值围可为1-8。
(2)功能要求:1.使用中文菜单,界面设计和用户输入输出要人性化些;
2. 将学生信息保存在文本文档中,具体对学生信息进行插入删除查询操
作时,将保存在文本文档中的学生信息提取出来,保存在自己定义的数
据结构中,然后再对该数据结构进行操作,所有操作完成,或者在相应
的命令后,再将学生信息保存到文本文档中。
3.具有数据输入功能,输入的数据能最终保存在文件中;
4.具有数据删除功能,能最终从文件中删除;
5.排序功能,根据自己设计的数据结构,设计排序算法
6.具有多种查询(如按学号查询、按姓名查询、按成绩查询等)及输出
功能;
7.其它功能(如各种统计,统计每个学生所有课程的平均分,统计某门
课程所有学生的平均分等等)
8.学生信息的修改(比如修改学生姓名,修改学生某门课程的成绩)(3)说明:
①功能各面越完善越好
②自定义的数据结构可以使用数组,链表,树等,然后根据不同的数据结构,设计不同的排序,查找算法。其中,排序算法至少有两种,可以使用多种数据结构来存放数据,然后在其上使用不同的排序算法。
③若用数组,必须动态分配空间(文本文件中最好有一行表示学生人数)(4)、输入输出的形式
本系统是一个学生成绩管理系统,采用VC++6.0 编译器作为开发环境,这个环境是我们在学习C++的平台。输入数据类型主要是char、int、float等数据类型,输入容包括:学期、学号、姓名、高等数学成绩,数据机构成绩,组成原理成绩,总分,平均分等数据。用户在输入学生数据时要保证输入数据格式的正确性,系统不会自动检测输入的数据是否正确,输出形式与输入形式类似,
根据需要可以选择显示输入的各项容,还可以选择显示计算好平均分后并排序后的记录,显示容包括:学期、学号、姓名、高等数学成绩,数据机构成绩,组成原理成绩,总分,平均分等数据。
1.2 开发环境
Visual C++不仅仅是是一个C++编译器,而是一个基于Windows操作系统的可视化集成开发环境IDE,这种环境开发出来的软件稳定性好、可移植性强,可以编制各种各样的Windows应用程序。
三、详细设计
主界面:在此界面用户可以选择要操作的选项,回车之后即可进入相关的页面进行操作(例如:选择1 ,即可进入输入学生数据页面)
在本界面里用户可以输入学生相关的信息数据,按照提示进行操作即可,例如:
所有操作均有提示语,比较人性化的管理,易懂,简单。
3、大概设计模块
(1)先编入系统所需的库函数,从而使程序可运行。
#include
#include
#include
#include
#include
(2)Main()函数的设计
在main()函数中主要运用do-while循环语句和switch()-case选择判断语句来调用相关
功能模块。系统的运行是在一个永真的循环里进行的,只有在主界面并选择“退出”时,才会跳出永真循环,并退出程序。