沈 阳 航 空 工 业 学 院 课程设计 学 号200604021014 班 级6402101 姓 名 金海峰 指导教师 王晓岩 2007年9 月 20日 沈 阳 航 院 设 计 用 纸
沈阳航空工业学院
课程设计任务书
电子工程系 电子信息工程专业 6402101班 学号200604021014
一、课程设计题目:健身跑学分管理系统
二、课程设计工作自2007年9月10日起至2007年9月14日止 三、课程设计内容:用C语言编写软件完成以下任务:
学生的记录信息要保存在磁盘文件中(记录结构至少应该包括以下
四项:学号、姓名、累计次数、学分)。学分计算方法:在本学期内累计次数打倒20次,可得到0.5学分,否则没有学分,新学期开始累计次数从0开始累计。在大学期间,最多可得到2学分。该系统具有如下功能:
(1) 学生记录输入。
(2) 跑步签到(每签到一次,累计次数加1)。 (3) 查询(可按学号、学分等进行查询)。 (4) 插入新的学生记录。
四、课程设计要求:
程序质量:
? ? ?
贯彻结构化程序设计思想。
用户界面友好,功能明确,操作方便;可以加以其它功能或修饰。 用户界面中的菜单至少应包括“学生记录输入”、“跑步签到”、“按学号进行排序”、“查询”、“退出”5项。
? 代码应适当缩进,并给出必要的注释,以增强程序的可读性。
课程设计说明书:
课程结束后,上交课程设计说明书(打印稿和电子稿),其内容如下: ? 封面 ? ? ? ? ? ? ?
课程设计任务书
目录
需求分析(分析题目的要求)
程序流程图(总体流程图和主要功能模块流程图) 核心技术的实现说明及相应程序段 个人总结 参考资料
第 I 页 页
沈 阳 航 院 设 计 用 纸
?
源程序及适当的注释
指导教师:________ 学生签名:________
目录
一、需求分析 ........................................................... 3 二、程序流程图 ....................................................... 4 三、核心技术的实现说明及相应程序段 ............... 7 四、个人总结 ........................................................... 12 五、参考文献 ........................................................... 13 六、源程序 ............................................................... 13
第 II 页 页
沈 阳 航 院 设 计 用 纸
一、需求分析
经过对程序设计题目的分析可知,整个程序的设计实现大致分为六个模块,其中每一个模块对应一个函数,他们的功能分别是:学生记录输入函数(change),跑步签到函数(number),按学号进行排序函数(sort),学号查询函数(num_query),学分查询函数(score_query)以及记录插入函数(enter)。
1、学生记录输入函数 主要实现程序最初运行时学生数据的录入以及其后的运行中学生数据的追加功能; 2、跑步签到函数 实现的功能是按照学号对学生的数据记录进行添加;
3、按学号进行排序函数 按照题目的具体要求实现的是学号的递增排序以及显示出相应的数据;
4、学号查询函数 允许按照学号对学生的数据查询; 5、学分查询函数 允许按照学分对学生的数据查询; 6、记录插入函数 实现的是插入新的学生数据.
除上面介绍的功能之外,程序还具有退出功能,可
第 3 页 页
沈 阳 航 院 设 计 用 纸
以在程序的一次运行当中循环执行所有的功能,并根据需要终止程序的执行。
每一个学生记录都包含学号、姓名,以及签到次数、学分.记录类型定义为结构体类型,添加以及追加的学生信息直接写入D的student.txt中,其他函数每次对学生记录的访问,其数据来源都是student.txt,这样做不但可以保证学生数据的一致性,而且可以对学生数据进行永久保存,保证每次运行程序都可以采用原来的数据。
二、程序流程图
1、程序总体结构图
当(1) n=1? 真 假 学生记录 n=2? 真 假 真 学号sort() n=3? 假 真 学号查询 num_query n=4? 假 n=5? 真 假 输入函数 跑步签change() 到函数 number() 排序
第 4 页 页