C语言程序设计报告.docx
- 文档编号:16913726
- 上传时间:2023-04-24
- 格式:DOCX
- 页数:12
- 大小:280.79KB
C语言程序设计报告.docx
《C语言程序设计报告.docx》由会员分享,可在线阅读,更多相关《C语言程序设计报告.docx(12页珍藏版)》请在冰豆网上搜索。
C语言程序设计报告
大连理工大学《程序设计基础》设计报告
《程序设计基础》成绩管理系统设计
学生姓名:
杨晓欧
院系、班级:
电信学部电气1404
学号:
8
联系电话:
Email:
完成日期:
一、设计任务
随着信息时代的到来,办公趋向无纸化、高效化,对于学生成绩的管理更是如此,基于此,我选择了《程序设计基础》学生成绩管理系统作为我的课题,希望能够模仿教务系统中成绩的录入与查询功能,编写自己的成绩管理系统。
从教师与学生两个角度分别实现成绩的录入、删除、修改、排序、导出与查询功能。
二、程序设计与实现
1.程序结构
《程序设计基础》学生成绩管理系统
本程序面向两类用户即教师与学生,有两个入口,教师登录需密码,共有添加,删除,修改,查找,密码修改五个功能,学生权限为查看本人详细成绩和本班排名。
系统程序组成框图如图1.所示。
教师入口
学生入口
查看本人成绩
查看本班成绩
密码修改
添加记录
删除记录
修改记录
分类排序查找
图学生成绩管理系统程序功能组成框图
2.数据描述
本系统使用的结构体。
结构体类型定义及结构体成员含义说明如图;采用数组进行数据存储。
图结构体类型定义及结构体成员含义说明
该程序除结构体数组外还定义了全局变量inttol,存储文件中学生记录总数,在每次添加/删除操作后都会自增/自减,用来作为读取记录时结束的标志。
3.功能模块设计
(1)函数名:
voidlogin()
函数功能:
显示登录界面
入口参数:
无
出口参数:
无
算法描述:
用if判断用户输入跳转相应界面。
(2)函数名:
voidstar(intx)
函数功能:
在屏幕上显示给定个数“*”,用于优化界面。
入口参数:
整型,给定的个数
出口参数:
无
算法描述:
用for循环显示*。
(3)函数名:
voidpwd()
函数功能:
密码输入界面
入口参数:
无
出口参数:
无
算法描述:
用strcmp对从键盘接收输入值与从文件读取的密码值进行比较
(4)函数名:
voidkey()
函数功能:
密码修改界面
入口参数:
无
出口参数:
无
算法描述:
将读入的新密码密码写入文件
(5)函数名:
voidfile_w(intt)
函数功能:
将学生记录写入文件
入口参数:
整型,学生记录总数
出口参数:
无
算法描述:
for与fprintf
(6)函数名:
voidfile_r(intt)
函数功能:
从文件中读入学生记录
入口参数:
整型,学生记录总数
出口参数:
无
算法描述:
for与fscanf
(7)函数名:
voidst()
函数功能:
学生登录界面
入口参数:
无
出口参数:
无
算法描述:
获取学号,使用顺序查找在文件中查找该记录
(8)函数名:
voidst_scan(inti)
函数功能:
学生查看功能
入口参数:
整型,为学生该学生信息所在数组下标
出口参数:
无
算法描述:
如图
图st_scan()函数流程图
(9)函数名:
voidtec()
函数功能:
教师功能菜单
入口参数:
无
出口参数:
无
算法描述:
switch语句实现功能选择
(10)函数名:
voidinsert()
函数功能:
添加记录
入口参数:
无
出口参数:
无
算法描述:
先将原有信息读入结构体数组,追加新记录,然后一起写入文件
(11)函数名:
voidcorrect()
函数功能:
修改记录
入口参数:
无
出口参数:
无
算法描述:
读取文件,查找要修改的记录,修改,重新写入文件
(12)函数名:
voiddel()
函数功能:
删除记录
入口参数:
无
出口参数:
无
算法描述:
读取文件,查找要删除的记录,删除,重新写入文件
(13)函数名:
voidscan()
函数功能:
教师查看功能菜单
入口参数:
无
出口参数:
无
算法描述:
switch语句进行功能选择
(14)函数名:
voidscan_n()
函数功能:
教师按学号查找功能
入口参数:
无
出口参数:
无
算法描述:
读入文件,顺序查找
(15)函数名:
voidscan_c()
函数功能:
教师按班级查看功能
入口参数:
无
出口参数:
无
算法描述:
读入文件,显示班级与输入值相同的学生信息
(16)函数名:
voidscan_f()
函数功能:
查看挂科同学名单
入口参数:
无
出口参数:
无
算法描述:
读入文件,显示挂科标志量mem[].flag为1的同学
(17)函数名:
voidscan_a()
函数功能:
查看全部学生排名
入口参数:
无
出口参数:
无
算法描述:
读入文件,选择法排序后显示
三、设计难点与解决方法
1.页面跳转不正常的问题。
例如在密码输入多次错误时,会持续显示报错信息,键盘无法输入指令。
在添加了fflush(stdin)语句后解决了问题。
密码修改问题。
之前密码定义为常量,不能进行修改,为实现密码修改功能及加密,将密码写入二进制文件,实现了修改,但是并没有做到加密。
四、设计效果与不足之处
系统启动界面,调用system(“cls”);Sleep();
通过学号查看个人成绩
查看班级成绩
教师登录需要输入密码
教师登录后的菜单界面
删除记录功能
密码修改功能
教师查看功能子菜单
全部学生排名
存在的不足:
1.界面显示、数据输出不整齐
2.部分功能未实现屏蔽非法输入
五、对本课程学习体会及建议
C语言是一门重视实践的课程,无论课堂上你听的有多仔细,上机实践还是会有这样那样的问题,一些错误只有自己亲身经历,并努力解决才会影响深刻。
从刚开始的面对一堆error手足无措,到之后盯着调试窗口一点一点找逻辑错误,到现在想着如何优化算法,输出友好界面,感谢12周以来老师的辛苦讲授让我成长,当然我们现在的水平还只是入门,今后还有更多的挑战等着我们,但我相信只要多动脑,勤动手,我们编程的水平会有更大的的提高!
对课程的一点建议是希望上机与理论课能交替进行,及时训练巩固理论课所学知识。
附录:
程序使用说明
(1)程序运行环境:
本系统使用C-Free5.0开发。
(2)文件夹设置:
文件夹内共包含一个源程序(*.c),一个可执行文件(*.exe),一个密码记录文件(*.dat),三个文本文档记录数据及说明(*.txt),三个程序导出的成绩单(*.doc)。
(3)操作说明:
教师初始密码为123456;本系统最大可容纳100人,学生信息录入按以下格式即可:
“8杨晓欧男电气1404888888”,其余操作按照提示即可。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 报告