C语言程序设计报告.doc_第1页
C语言程序设计报告.doc_第2页
C语言程序设计报告.doc_第3页
C语言程序设计报告.doc_第4页
C语言程序设计报告.doc_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

大连理工大学大连理工大学程序设计基础程序设计基础设计报告设计报告 程序设计基础程序设计基础成绩管理系统设计成绩管理系统设计 学 生 姓 名: 杨晓欧 院系、班级 : 电信学部 电气 1404 学 号 : 201481098 联 系 电 话:Email : 2425360853 完 成 日 期: 2015.06.05 装 订 线 一、设计任务 随着信息时代的到来,办公趋向无纸化、高效化,对于学生成绩的管理更是如此, 基于此,我选择了程序设计基础学生成绩管理系统作为我的课题,希望能够模仿 教务系统中成绩的录入与查询功能,编写自己的成绩管理系统。从教师与学生两个角 度分别实现成绩的录入、删除、修改、排序、导出与查询功能。 二、 程序设计与实现 1. 程序结构 本程序面向两类用户即教师与学生,有两个入口,教师登录需密码,共有添加, 删除,修改,查找,密码修改五个功能,学生权限为查看本人详细成绩和本班排名。 系统程序组成框图如图 1.所示。 图 学生成绩管理系统程序功能组成框图 2. 数据描述 本系统使用的结构体。结构体类型定义及结构体成员含义说明如图;采用数组进 行数据存储。 图 结构体类型定义及结构体成员含义说明 程序设计基础学生成绩管理系统 教师入口学生入口 添加记录 查看本班成绩 查看本人成绩 密码修改 分类排序查找 修改记录 删除记录 该程序除结构体数组外还定义了全局变量 int tol,存储文件中学生记录总数,在每 次添加/删除操作后都会自增/自减,用来作为读取记录时结束的标志。 3. 功能模块设计 (1) 函数名:void login () 函数功能:显示登录界面 入口参数:无 出口参数:无 算法描述:用 if 判断用户输入跳转相应界面。 (2) 函数名:void star(int x) 函数功能:在屏幕上显示给定个数“*”,用于优化界面。 入口参数:整型,给定的个数 出口参数:无 算法描述:用 for 循环显示*。 (3) 函数名: void pwd() 函数功能:密码输入界面 入口参数:无 出口参数:无 算法描述:用 strcmp 对从键盘接收输入值与从文件读取的密码值进行比较 (4) 函数名:void key() 函数功能:密码修改界面 入口参数:无 出口参数:无 算法描述:将读入的新密码密码写入文件 (5) 函数名:void file_w(int t) 函数功能:将学生记录写入文件 入口参数:整型,学生记录总数 出口参数:无 算法描述:for 与 fprintf (6) 函数名:void file_r(int t) 函数功能:从文件中读入学生记录 入口参数:整型,学生记录总数 出口参数:无 算法描述:for 与 fscanf (7) 函数名:void st() 函数功能:学生登录界面 入口参数:无 出口参数:无 算法描述:获取学号,使用顺序查找在文件中查找该记录 (8) 函数名:void st_scan(int i) 函数功能:学生查看功能 入口参数:整型,为学生该学生信息所在数组下标 出口参数:无 算法描述: 如图 图 st_scan()函数流程图 开始 输出菜单 输入选择 e e=0? 返回上一级 e=1? e=2? 输出个人成绩 输入班级 i总数? 班级相同? 输出该记录 i+ 结束 Y N N Y Y N N Y Y N (9) 函数名:void tec() 函数功能:教师功能菜单 入口参数:无 出口参数:无 算法描述:switch 语句实现功能选择 (10)函数名:void insert() 函数功能:添加记录 入口参数:无 出口参数:无 算法描述:先将原有信息读入结构体数组,追加新记录,然后一起写入文件 (11)函数名:void correct() 函数功能:修改记录 入口参数:无 出口参数:无 算法描述:读取文件,查找要修改的记录,修改,重新写入文件 (12)函数名:void del() 函数功能:删除记录 入口参数:无 出口参数:无 算法描述:读取文件,查找要删除的记录,删除,重新写入文件 (13)函数名:void scan() 函数功能:教师查看功能菜单 入口参数:无 出口参数:无 算法描述:switch 语句进行功能选择 (14)函数名:void scan_n() 函数功能:教师按学号查找功能 入口参数:无 出口参数:无 算法描述:读入文件,顺序查找 (15)函数名:void scan_c() 函数功能:教师按班级查看功能 入口参数:无 出口参数:无 算法描述:读入文件,显示班级与输入值相同的学生信息 (16)函数名:void scan_f() 函数功能:查看挂科同学名单 入口参数:无 出口参数:无 算法描述:读入文件,显示挂科标志量 mem.flag 为 1 的同学 (17)函数名:void scan_a() 函数功能:查看全部学生排名 入口参数:无 出口参数:无 算法描述:读入文件,选择法排序后显示 三、 设计难点与解决方法 1.页面跳转不正常的问题。例如在密码输入多次错误时,会持续显示报错信息, 键盘无法输入指令。在添加了 fflush(stdin)语句后解决了问题。 密码修改问题。之前密码定义为常量,不能进行修改,为实现密码修改功能及加 密,将密码写入二进制文件,实现了修改,但是并没有做到加密。 四、设计效果与不足之处 系统启动界面,调用 system(“cls”);Sleep(); 通过学号查看个人成绩 查看班级成绩 教师登录需要输入密码 教师登录后的菜单界面 删除记录功能 密码修改功能 教师查看功能子菜单 全部学生排名 存在的不足:1.界面显示、数据输出不整齐 2.部分功能未实现屏蔽非法输入 五、对本课程学习体会及建议 C 语言是一门重视实践的课程,无论课堂上你听的有多仔细,上机实践还是会有 这样那样的问题,一些错误只有自己亲身经历,并努力解决才会影响深刻。从刚开始 的面对一堆 error 手足无措,到之后盯着调试窗口一点一点找逻辑错误,到现在想着如 何优化算法,输出友好界面,感谢 12 周以来老师的辛苦讲授让我成长,当然我们现在 的水平还只是入门,今后还有更多的挑战等着我们,但我相信只要多动脑,勤动手, 我们编程的水平会有更大的的提高! 对课程的一点建议是希望上机与理论课能交替进行,及时训练巩固理论课所学知 识。 附录:程序使用说明 (1) 程序运行环境:本系统使用 C-Free 5.0 开发。 (2) 文件夹设置:文件夹内共包含一个源程序(*.c),一个可执行文件(*.exe),一个密 码记录文件(*.dat

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论