''
''
''
大连理工大学《程序设计基础》设计报告
装
装
订
线
《程序设计基础》成绩管理系统设计
学 生 姓 名: 杨晓欧
院系、班级 : 电信学部 电气1404
学 号 : 81098
联 系 电 话:
Email : 2425360853@
完 成 日 期: .06.05
''
''
设计任务
随着信息时代的到来,办公趋向无纸化、高效化,对于学生成绩的管理更是如此,基于此,我选择了《程序设计基础》学生成绩管理系统作为我的课题,希望能够模仿教务系统中成绩的录入与查询功能,编写自己的成绩管理系统。从教师与学生两个角度分别实现成绩的录入、删除、修改、排序、导出与查询功能。
程序设计与实现
程序结构
《程序设计基础》学生成绩管理系统本程序面向两类用户即教师与学生,有两个入口,教师登录需密码,共有添加,删除,修改,查找,密码修改五个功能,学生权限为查看本人详细成绩和本班排名。系统程序组成框图
《程序设计基础》学生成绩管理系统
教师入口
教师入口
学生入口
查看本人成绩查看本班成绩密码修改添加记录删除记录修改记录分类排序查找
查看本人成绩
查看本班成绩
密码修改
添加记录
删除记录
修改记录
分类排序查找
图 学生成绩管理系统程序功能组成框图
数据描述
本系统使用的结构体。结构体类型定义及结构体成员含义说明如图;采用数组进行数据存储。
图 结构体类型定义及结构体成员含义说明
该程序除结构体数组外还定义了全局变量int tol,存储文件中学生记录总数,在每次添加/删除操作后都会自增/自减,用来作为读取记录时结束的标志。
功能模块设计
函数名:void login ()
函数功能:显示登录界面
入口参数:无
出口参数:无
算法描述:用if判断用户输入跳转相应界面。
函数名:void star(int x)
函数功能:在屏幕上显示给定个数“*”,用于优化界面。
入口参数:整型,给定的个数
出口参数:无
算法描述:用for循环显示*。
函数名: void pwd()
函数功能:密码输入界面
入口参数:无
出口参数:无
算法描述:用strcmp对从键盘接收输入值与从文件读取的密码值进行比较
函数名:void key()
函数功能:密码修改界面
入口参数:无
出口参数:无
算法描述:将读入的新密码密码写入文件
函数名:void file_w(int t)
函数功能:将学生记录写入文件
入口参数:整型,学生记录总数
出口参数:无
算法描述:for与fprintf
函数名:void file_r(int t)
函数功能:从文件中读入学生记录
入口参数:整型,学生记录总数
出口参数:无
算法描述:for与fscanf
函数名:void st()
函数功能:学生登录界面
入口参数:无
出口参数:无
算法描述:获取学号,使用顺序查找在文件中查找该记录
函数名:void st_scan(int i)
函数功能:学生查看功能
入口参数:整型,为学生该学生信息所在数组下标
出口参数:无
算法描述: 如图
开始
开始
输出菜单
输入选择e
e=0?
返回上一级
e=1?
e=2?
输出个人成绩
输入班级
i
班级相同?
输出该记录
i++
结束
Y
N
N
Y
Y
N
N
Y
Y
N
图 st_scan()函数流程图
函数名:void tec()
函数功能:教师功能菜单
入口参数:无
出口参数:无
算法描述:switch语句实现功能选择
函数名:void insert()
函数功能:添加记录
入口参数:无
出口参数:无
算法描述:先将原有信息读入结构体数组,追加新记录,然后一起写入文件
函数名:void correct()
函数功能:修改记录
入口参数:无
出口参数:无
算法描述:读取文件,查找要修改的记录,修改,重新写入文件
函数名:void del()
函数功能:删除记录
入口参数:无
出口参数:无
算法描述:读取文件,查找要删除的记录,删除,重新写入文件
函数名:void scan()
函数功能:教师查看功能菜单
入口参数:无
出口参数:无
算法描述:switch语句进行功能选择
函数名:void scan_n()
函数功能:教师按学号查找功能
入口参数:无
出口参数:无
算法描述:读入文件,顺序查找
函数名:void scan_c()
函数功能:教师按班级查看功能
入口参数:无
出口参数:无
算法描述:读入文件,显示班级与输入值相同的学生信息
函数名:void scan_f()