上海应用技术学院
课程设计
2013~~2014学年第二学期
设计题目 成绩记录簿
院 (系) 工程创新学院
专 业 电气工程及其自动化
班 级 131032Y1
学 号 1310300235
学生姓名 聂 震
设计时间 2014.06.30 -2014.07.04
指导教师 朱 迅
提交日期 2014.07.04
一. 课程设计目的
本课程设计是提高学生程序设计能力的重要实践性环节之一,是在学生学习完《程序设计基础(C)》课程后进行的一次全面的综合练习。本课程设计的目的和任务:
1. 巩固和加深学生对C语言课程的基本知识的理解和掌握;
2. 掌握C语言编程和程序调试的基本技能;
3. 利用C语言进行基本的软件设计;
4. 初步掌握书写程序设计说明文档的能力
5. 提高运用C语言解决实际问题的能力。
二. 课程设计要求
1. 分析课程设计题目的要求;
2. 写出详细设计说明;
3. 编写程序代码,调试程序使其能正确运行;
4. 设计完成的软件要便于操作和使用,有整齐、美观的使用界面;
5. 设计完成后提交课程设计报告(按学校要求装订)和源代码文件的电子文档。
三 . 题目三 成绩记录簿
1. 设计要求:
成绩记录簿中记录以下数据:学号、姓名、课程编号、课程名称、成绩、学分,所有成绩都以百分制计分。在程序中可以输入新的成绩记录,可以按学号或姓名查询一个学生的所有成绩,和已完成的总学分。也可以按课程编号查出一个班的成绩表,班成绩表后面要统计平均分,和及格率。
程序的主界面如下:
成绩记录簿
1. 添加
2. 删除
3. 查学生成绩
4. 查班成绩表
0. 退出
2. 提高水平
在程序中增加将数据写入文本文件和从文件中读入数据的功能,文件名由用户输入。
3. 提示
在没有使用文件时,数据可以保存在一个大的数组中,要注意的数据项的类型。
四. 设计说明
F.1程序系统的结构
用一系列图表列出本程序系统内的每个程序(包括每个模块和子程序)的名称、标识符。
主函数
主函数
删除成绩添加成绩查询
删除成绩
添加成绩
查询
学生查询
学生查询
班级查询
按学号删除按姓名
按学号删除
按姓名删除
按学号查找
按学号查找
按姓名查找
课程编号
输入姓名,学号等信息
输入姓名,学号等信息
删除成功
删除成功
平均分,及格率,学生信息学生相关信息
平均分,及格率,学生信息
学生相关信息
输出学生信息输出所查询信息输出剩余的学生信息
输出学生信息
输出所查询信息
输出剩余的学生信息
退出
退出
F.2程序1(标识符)设计说明
? F.2.1程序描述
记录一些学生的学习情况,并保存下来。能保存,删除,查询学生的成绩,可以按班级查询一门学科的学习状况等。
? F.2.2功能
1. 添加:?本程序可以一次输入多个学生的成绩。开始时,输入计划添加学生的个数,然后依次输入各个学生的基本信息,程序自动记录,输出。
2. 删除:删除分为按姓名和学号查找删除两种方法删除,开始时,选择删除方法,根据提示输入信息,系统自动查找,删除,用后一个来覆盖前一个原理自动操作,输出剩余信息,并保存。
3 . 查询:查询学生成绩可以用3种方法来进行。1.学号2.姓名3.课程代号。学生可按学号和姓名查询,按提示输入相关信息查询。班级查询,可输入课程代号,可得班平均分以及班级及格率。
? F.2.3性能
所有成绩都以百分制计分,学分精度是小数点后一位,学号和课程序号自己定义。操作灵活,没有太大的时间要求
? F.2.4输人项
???输入时,学号,成绩,课程编号是整数型,学分是小数(浮点型),姓名和课程名称是字符型,数据没有范围限制,比较自由,没有数量限制。用键盘输入,写入文件my.txt
? F. 2. 5输出项
???输出时,学号,成绩,课程编号是整数型,学分是小数(浮点型,保留一位小数),姓名和课程名称是字符型,数据没有范围限制,比较自由,没有数量限制。显示器输出,从文件my.txt读取
? F.2.6算法
???计算平均值时,先将所有数据循环相加,再除以总人数。
计算及格率时, 先计算有多少超过60分的人,累加,再除以总人数。
? F.2.7流程逻辑
???见F.1程序系统的结构流程图
? F.2.8接口
开始
开始
提示
输入
放入结构体数组中
写入文件
结束
1. 添加
开始
开始
提示
学号
调出学生