实训报告--机房收费管理系统
- 格式:doc
- 大小:220.10 KB
- 文档页数:48
北京联合大学
课程设计报告
课程名称: C语言程序设计课设
项目名称: 机房收费管理系统
学院: 自动化学院 专业:建筑电气与智能化
姓名:
学号:
指导教师: 成 绩:
2010年6月18日
目 录
第1部分 课程设计题目与要求 ................................... 1
1.问题描述 ............................................... 1
2.功能要求 ............................................... 1
3.任务分工 ............................................... 2
第2部分 《》的设计与功能实现 ................................. 2
1.总体设计 ............................................... 2
2.数据结构 ............................................... 4
3.算法设计 ............................................... 5
4.程序代码设计............................................11
5.测试与调试 .............................................18
第3部分 课程设计总结 ........................................20
1.个人总结 ...............................................20
2.结束语 .................................................24
附录Ⅰ 程序清单 ..............................................25
附录Ⅱ 用户使用说明书 ........................................45
参考文献 ....................................................46
1 第1部分 课程设计题目与要求
1.问题描述
为了便于管理,需要对机房的上机收费进行计算机管理,所需要的功能为:建立学生的上级档案、对于毕业的学生能够删除其档案、根据上机和下机时间计算出本次所需费用、能够续钱。
2.功能要求
循环显示如图12.17所示的主菜单。
在主菜单中选择1:建立名为duli16_3.dat的文件,并在其中添加若干学生的上机档案,信息包括学号、姓名、金额,要求学号是唯一的。
在主菜单中选择2:要求用户输入学号,然后系统显示该学生档案,并自动开始计时,如果原来金额不足6元,则不能上机,而且显示“余额不足,请续钱!”。
在主菜单中选择3:停住对该学生记时,同时根据用户输入的学号,计算该学生上机时间,并按1小时2元收费(30分钟以内均按半小时处理,60分钟以内按1小时处理),然后显示上机前后的金额。
在主菜单中选择4:添加新档案,这时要求新学号和已有的学号不能重号。
在主菜单中选择5:注销旧档案。
在主菜单中选择6:要求用户输入学号和续钱额,续钱完成后分别显示续钱前后的金额。
在主菜单中选择7:此项功能学生自由发挥,根据本组爱好增加与本题目相关的新功能。
在主菜单中选择0:显示结束信息,按任意键后,退出本系统。 12.17
2
3.任务分工
主要负责编写:
下机函数mylikai()、
注销函数myzhuxiao()。
和整个程序的测试编译。
主要负责编写:
上机函数:myshangji()、
续钱函数:myxuqian()、
:
主要负责编写:
建立函数:mycreate()、
添加函数:mytianjia().
主函数:main() 和 创新函数:myjifen(),
由小组成员共同敲定。
其中:
第2部分 《机房收费管理系统》的设计与功能实现
1.总体设计
主模块图
主模块
3
建立上机档案mycreate() 开始上机mykaishi(int *,int *) 离开机房mylikai(int,int,int)
添加新档案mytianjia() 注销旧档案myzhuxiao() 按学号注销del_number() 按姓名注销
del_name()
续钱myxuqian() 创新函数void myjifen();
4 2.数据结构
结构体的定义
struct record
{
char number[13];/*定义学号数组*/
char name[11]; /*定义姓名数组*/
char mima[11]; /*定义密码数组*/
int restmoney;
};
struct tm *t;/*定义时间函数的结构体*/
5 3.算法设计
(一)主函数模块假 非法选项
其他 7 6 5 4 3 2 开始
调用myprint
输入choose的值
choose=?
1 0
真 假 输入yes_no
yes_no=Y或y yes_no=Y或y或N或n
结束 调用
myxuqian
调用
mytianjia
调用
myzhuxiao
调用
mykaishi
调用
myjifen
调用
mylikai
调用
mycreate
真
6 (二)void mycreate()
入口
打开文件
打开成功?
假
结束 输入学号
输入姓名
输入金额
假
合法记录?
真
将记录写入文件
记录数增1
输入学号
输入姓名
关闭文件
出口
7 (三)int mykaishi(int *,int *)
入口
打开文件
假
打开成功?
真
真
文件结束?