C课程设计 成绩排序报告.docx
学号 2013-2014
学号
2013-2014学年第二学期
《高级语言程序设计》
课程设计报告
题目:专业:班级:姓名:
指导教师:成绩:
成绩排序
计算机科学与技术
计算机与信息工程系
2014年6月2日
目录
设计目的及要求 1
课程设计的目的 1
课程设计的基本要求 1
设计内容 2
模块说明 2
模块结构图 2
详细设计说明 4
程序流程图 4
删除学生成绩记录模块 5
查询学生成绩记录模块 6
学生成绩排序模块 7
2.4函数流程图 8
程序测试 9
软件测试 9
运行结果及截图 9
参考文献 11
5总结 12
6源代码 13
计算机与信息工程系《高级语言程序设计》课程设计报告
设计目的及要求
课程设计的目的
(1).巩固和掌握高级语言程序设计基本概念;(2).掌握基本的程序设计方法;
(3).掌握开发软件所需的需求定义能力;(4).提高书写程序设计说明文档的能力;
(5).提高综合运用高级语言的能力,强化编程和调试能力。
课程设计的基本要求
根据所给的课程设计题目,分析课程设计题目的要求;
对系统功能模块进行分析,写出详细的设计说明文档;
编写程序代码,调试所编写程序使其能正确运行;
设计完成的软件便于完成和使用;
设计完成后提交课程设计报告;
课程设计报告内容包括:课程设计的目的、设计任务与要求、设计说明 书、设计成果和心得五个部分,具体要求见设计报告模板;
总结:调试分析过程描述:
包括测试数据、测试输出结果以及对程序调试过程中的存在问题的思考(列出主要问题的出错现象、出错原因等)包括课程设计过程中的学习体会与收获;
任务:
设计一个学生成绩排序系统,该系统的主要功能如下:具备对成绩的管理功能(添加、删除、排序)
具备对成绩的统计功能(最高分,最低分,平均分,及格率等)具备按学号、姓名、或课程名查询成绩的功能。
学生成绩应该保存在文件中。
备注:成绩记录以下信息:班级,学好,姓名,课程名,成绩(百分制)。可
1
以用表示学生成绩的结构体数组存储数据。
设计内容
模块说明
本次程序设计中我设计了五个模块,分别是增加信息、查询成绩、删除成绩、成绩排序、统计成绩。这几个模块总原本的信息,查找、添加、删除、排序作为主函数的子函数。
模块结构图
系统可以按功能进行模块划分,其模块如图a所示:
用户界面
用户界面
主函数
创建
增加学生成
绩记录
删除学生成
绩记录
查询学生成
绩记录
统计学生成
绩记录
学生成绩排
序
图a模板设计图
其中:
(1).增加学生成绩记录模块可以完成学生成绩的输入,输入信息包括班级、学号、姓名、课程名、成绩。
2
计算机与信息工程系《高级语言程序设计》课程设计报告
删除学生成绩记录模块可以完成学生成绩的删除。
查询学生成绩记录模块可以完成学生成绩的查询
可以通过输入姓名、学号或者是课程名来查询学生成绩。
统计学生成绩记录模块可以完成对学生成绩的统计可以在已有的学生成绩记录中,输出平均分、最高分、最低分、及格率。
学生成绩排序模块可以完成对学生成绩的排序按照成绩的高低来进行排序。
3
开始进入目录选择N判断是否有Y
开始
进入目录选择
N
判断是否有
Y
添
加
删
除
排
序
保
存
查
询
统
计单科
统
计及格率
统
计单科最高
统
计单科最低
统
计单科平均
Y
是否继续
N
退出系统
2.31程序流程图
图
图b系统流程图
函数模块、功能分析、参数说明
增加学生成绩记录模块(voidManage::add())
对应于总体设计时的系统功能模块图,各个功能模块的处理逻辑如下:主要完成将数据存入单链表中的工作。在这次增加学生成绩记录中,记录
4
计算机与信息工程系《高级语言程序设计》课程设计报告
可以从二进制形式存储的数据文件中读入,也可以从键盘逐个读入学生记
录。如图c所示:
开始
开始
输入
班级
学号
姓名
课程
成绩
结束
图c增加学生成绩记录流程图 .
删除学生成绩记录模块(voidManage::del())
要删除某个学生的信息,就要从磁盘文件中将所有同学信息读出来,然后除要删除的学生外,其它的所有记录再重新存入原来的磁盘文件中,如图d所示:
开始
开始
读入信息
输入要删除
学生的学号
是否找到
N
Y
删除成功
结束
图d删除学生成绩记录流程图
5
查询学生成绩记录模块(voidManage::search())
主要完成在单链表中查找满足相关条件的学生记录。用户可以按照学生的学号、姓名或课程名在单链表中进行查找。未找到输出提示信息,如图3-4
所示:
开始
开始
读入信息
输入要查找学生的