机房收费管理系统_第1页
机房收费管理系统_第2页
机房收费管理系统_第3页
机房收费管理系统_第4页
机房收费管理系统_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

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

文档简介

1、第一章 课程设计任务内容第二章 详细课程设计2.1 系统总体模块图2.2 系统的功能模块划分2.3 主要函数介绍2.4 系统程序代码及注释第三章 软件使用说明3.1录入系统3.2计算功能3.3查询功能3.4机器使用情况目录...9.9.11第四章 课程设计心得与体会 附录一: 程序清单第一章 课程设计任务内容题目:机房收费管理系统目前,在部分高校中,计算机机房的上机收费仍然采用传统的人工计时方 式,即学生凭有效证件前来上机, 由机房管理人员手工登记开始时间和结束时间, 然后按实际机时进行计算并收取相应费用。 人工计时计费方式不但效率低, 而且 容易出错, 也不利于定

2、期的统计工作。 随着高校学生人数的不断增加, 这些工作 的难度和强度也不断加大,给机房管理部门带来了很大的压力。本课程设计要求实现机房收费管理系统,具体任务如下:1)计算功能:计算每个下机学生的上机费用,每小时1 元。输入功能:输入 30 名学生的学号、班级、姓名、上机起始时间。上机费用 =上机时间 * 1.0/h ,不足一小时按一小时计算)查询功能:按条件(班级、学号、姓名)显示学生的上机时间。机器使用情况的显示(显示方式不限但要一目了然)第二章详细课程设计2.1系统总体模块图系统的整体模块描述如图所示图3-1系统总体模块图2.2系统的功能模块划分每一条记录包含一个学生学号、学生班级、学生姓

3、名、上机起始时间,同时包含:完成对学生上机时间的录入;按条件(班级、学号、姓名)显示学生的上机时间,计算每个下机学生的上机费用,并能根据学生的上机时间进行计算上机 费用,而且还能显示机器使用情况。2.3 主要函数介绍Mai n-me nu函数:输出机房管理系统菜单Input 函数:输入若干学生的学号、班级和姓名及上机时间Online 函数:学生上机,输入上机学生学号或姓名及时间Calculator 函数:计算上机费用并输出Offline 函数:学生下机时间,调用 calculator 函数得到上机费用Search 函数:查找学生上机信息Display 函数:显示全部机器的使用信息Main 函数

4、:函数调用以及结束程序2.4 系统程序代码及注释<time.h><stdio.h><string.h><Windows.h>2.4.1 输入功能:输入 30名学生的学号、班级、姓名、上机起始时间 #include #include #include #include #define N 20 #define M 100 struct student char idN;char theclassN; char nameN; char ontimeN; studentM;int n; void addition() int i;printf( &qu

5、ot;n 请输入录入学生信息的总数 :" ); scanf( "%d",&n); for (i=1;i<=n;i+) printf( "nt请输入第个学生学号(20s):" ,i); scanf( "%s",studenti-1.id);printf( "nt请输入第(个学生班级(20s):" ,i); scanf( "%s",studenti-1.theclass);printf( "nt请输入第(个学生姓名(20s):" ,i); scanf( &

6、quot;%s",);printf( "nt请输入第(个学生上机时间(20s)(例:02):" ,i); scanf( "%s",studenti-1.ontime);printf( "nt提示:您已成功录入第条信息n" ,i);1 元。2.4.2 计算功能:计算每个下机学生的上机费用,每小时 (上机费用 =上机时间 * 1.0/h,不足一小时按一小时计算)void calculate() int hours;char times30; time_t rawtime;struct tm * ti

7、meinfo; time ( &rawtime );timeinfo = localtime(&rawtime ); strcpy(times,asctime(timeinfo);printf( "t 所有学生上机费用如下 :n" );for (int i=1;i<=n;i+) printf("学生 费用:",i);if (studenti-1.ontime3-48)*10+studenti-1.ontime4>(times14-4 8)*10+times15)hours=(times11-48)*10+times12-(st

8、udenti-1.ontime0-48)*10-stud enti-1.ontime1;else hours=(times11-48)*10+times12-(studenti-1.ontime0-48)*10-stud enti-1.ontime1+1;printf( "%dn",hours); void calculate() int hours;char times30; time_t rawtime;struct tm * timeinfo; time ( &rawtime );timeinfo = localtime(&rawtime ); str

9、cpy(times,asctime(timeinfo);printf( "t 所有学生上机费用如下 :n" );for (int i=1;i<=n;i+) printf("学生 费用:",i);if (studenti-1.ontime3-48)*10+studenti-1.ontime4>(times14-4 8)*10+times15)hours=(times11-48)*10+times12-(studenti-1.ontime0-48)*10-stud enti-1.ontime1;else hours=(times11-48)*10

10、+times12-(studenti-1.ontime0-48)*10-stud enti-1.ontime1+1;printf( "%dn" ,hours); 2.4.3 查询功能:按条件(班级、学号、姓名)显示学生的上机时间。 void search() int i,b,c,count;do char find20;printf( "n 请选择查询方式 :1. 根据学号查询 ;2. 根据班级查询 ;3. 根据姓名查 询 ;4. 根据上机时间 :" );scanf( "%d",&b); switch (b) case 1:

11、count=PF_FLOATING_POINT_PRECISION_ERRATA; printf"(n* 请输入 学生的学号 :" );scanf( "%s",find); for (i=0;i<n;i+) if (strcmp(studenti.id,find)=0) count+;if (count=PF_FLOATING_POINT_EMULATED)printf( " 学生学号 t 学生班级 t 学生姓名 t 上机时间 n" ); printf( "%8s%15s%15s%17,s"tudenti.i

12、d,studenti.theclass, ,studenti.ontime);提示: 该生不存在 "); if (!count) printf( "* goto A;case 2: count=PF_FLOATING_POINT_PRECISION_ERRATA; printf( "n* 请输入学生的班级 :" ); scanf( "%s",find);for (i=0;i<n;i+) if (strcmp(studenti.theclass,find)=0) count+;if (count=PF_F

13、LOATING_POINT_EMULATED) printf( "学生学号 t 学生班级 t 学生姓名 t 上机时间 n" ); printf( "%8s%15s%15s%17,s"tudenti.id,studenti.theclass, ,studenti.ontime);提示: 该生不存在 "); if (!count) printf( "* goto A;case 3: count=PF_FLOATING_POINT_PRECISION_ERRATA; printf( "n* 请输入学生的姓

14、名 :" );scanf( "%s",find); for (i=0;i<n;i+) if (strcmp(,find)=0) count+;if (count=PF_FLOATING_POINT_EMULATED)printf( " 学生学号 t 学生班级 t 学生姓名 t 上机时间 n" ); printf( "%8s%15s%15s%17,s"tudenti.id,studenti.theclass, ,studenti.ontime);"* 提示:该

15、生不存在 "); if (!count) printf( goto A;case 4: count=PF_FLOATING_POINT_PRECISION_ERRATA; printf( "n* 请输入学生的上机时间 :" );scanf( "%s",find); for (i=0;i<n;i+) if (strcmp(studenti.ontime,find)=0) count+;if (count=PF_FLOATING_POINT_EMULATED)printf( "学生学号 t 学生班级 t 学生姓名 t 上机时间 n&

16、quot; ); printf( "%8s%15s%15s%17,s"tudenti.id,studenti.theclass, ,studenti.ontime);提示: 该生不存在 "); if (!count) printf( "* goto A;提示 : 输入错误 ");default :printf( A:printf( "nt*1. 继续 nt*0. 返回主菜单 "); printf( "nt 请输入您的选择 :" ); scanf( "%d",&

17、amp;c); while (c);2.4.4 机器使用情况的显示(显示方式不限但要一目了然) void menu()printf( "nt* 欢迎进入机房收费管理系 统 !*n");printf( "t* 1. 录入功能 2.计算功能 *n" ); printf( "t* 3. 查询功能 0.-*EXIT*- *n" );"t* );"nt 请输入您的选择 :" );printf(*n"printf(void main() system( "color 5f" );int

18、a;C:menu();scanf( "%d",&a);switch (a)case 0:printf( "* 正在退出 * 谢谢使用本系统,再见 "); break ; case 1:addition();goto C;/* 录入功能 */case 2:calculate();goto C; /* 浏览功能 */case 3:search();goto C; /* 查询功能 */ 3.1 录入系统第三章 软件使用说明图 3-1 输入 30 名学生的学号、班级、姓名、上机起始时间3.2 计算功能图 3-2 计算每个下机学生的上机费用3.3 查询功能

19、图 3-3 按条件(班级、学号、姓名)显示学生的上机时间3.4 机器使用情况图 3-4 机器使用情况查询第四章 课程设计心得与体会C+勺认识,Microsoft在这次课程设计中,我体会颇多,学到很多东西。我加强了对 复习了自己以前的知识,自己的逻辑思考能力也提高不少。从而对Visual C+ 6.0 又有了更深入勺认识!在这次课程设计中,我还懂得了程序开 发勺一些比较重要勺步骤,比如需求分析、总体设计、程序模块设计 ( 含功能需 求、程序代码设计与分析、运行结果 ) 、系统使用说明等。总之,通过这次课程设计,我收获颇丰, 相信会为自己以后的学习和工作带来很大的好处。 最重要的 还是激发了我编程

20、的兴趣和热情,让我从一个只懂理论变成了能做一些小型程 序,让我对编程更加热爱了。整体地评价这次课程设计,我认为收获很大,正如 上面所说的那样, 通过课程设计, 既复习了以前的旧知识, 又学到了一些新的知 识;设计增强了我们用所学知识去解决具体问题的能力, 进一步培养了我们独立 思考问题和解决问题的能力。特别是学会了在 Visual C+ 集成开发环境中如何 调试程序的方法。 当然,老师的悉心指导和同学的帮助也是不可忽视的, 在此感 谢本次课程设计中辅导老师对我的关心和帮助, 诚心诚意感谢她对我的鼓励与教导,是她在我迷茫的时候给了我些许提示,激发了我编程的灵感;还有,我在此 也十分感谢本次课程设

21、计中同学们对我的帮助, 尽管本次不是团队合作, 但是他们也给了我不少的提示和帮助,是他们让我有信心坚持做下来,在此感谢他们!附录一: 程序清单<time.h><stdio.h><string.h><Windows.h>#include #include #include #include #define N 20 #define M 100 struct student char idN; char theclassN; char nameN; char ontimeN; studentM;int n;void addition() int i;

22、printf( "n 请输入录入学生信息的总数 :" );"nt请输入第£个学生学号(20s):" ,i); "%s",studenti-1.id);"nt请输入第个学生班级(20s):" ,i);"%s",studenti-1.theclass);"nt请输入第c个学生姓名(20s):" ,i);scanf( "%d",&n); for (i=1;i<=n;i+) printf( scanf( printf( scanf( pri

23、ntf( scanf( "%s",); printf( "nt请输入第(个学生上机时间(20s)(例:02):" ,i); scanf( "%s",studenti-1.ontime);printf( "nt提示:您已成功录入第条信息n" ,i);(上机费用 =上机时间 * 1.0/h ,不足一小时按一小时计算) void calculate() int hours;char times30; time_t rawtime; struct tm * timeinfo; time ( &

24、amp;rawtime );timeinfo = localtime(&rawtime ); strcpy(times,asctime(timeinfo);printf( "t 所有学生上机费用如下 :n" );for (int i=1;i<=n;i+)printf("学生 费用:",i);if (studenti-1.ontime3-48)*10+studenti-1.ontime4>(times14-4 8)*10+times15)hours=(times11-48)*10+times12-(studenti-1.ontime0-

25、48)*10-stud enti-1.ontime1;else hours=(times11-48)*10+times12-(studenti-1.ontime0-48)*10-stud enti-1.ontime1+1;printf( "%dn",hours);void calculate() int hours;char times30;time_t rawtime;struct tm * timeinfo;time ( &rawtime );timeinfo = localtime(&rawtime );strcpy(times,asctime(tim

26、einfo);printf( "t 所有学生上机费用如下 :n" );for (int i=1;i<=n;i+)printf("学生 费用:",i);if (studenti-1.ontime3-48)*10+studenti-1.ontime4>(times14-4 8)*10+times15)hours=(times11-48)*10+times12-(studenti-1.ontime0-48)*10-stud enti-1.ontime1;else hours=(times11-48)*10+times12-(studenti-1.o

27、ntime0-48)*10-stud enti-1.ontime1+1;printf( "%dn",hours);void search() int i,b,c,count;do char find20;printf( "n 请选择查询方式 :1. 根据学号查询 ;2. 根据班级查询 ;3. 根据姓名查 询;4. 根据上机时间 :" );scanf( "%d",&b);switch (b) case 1: count=PF_FLOATING_POINT_PRECISION_ERRATA; printf("n* 请输

28、入学生的学号 :" );scanf( "%s",find);for (i=0;i<n;i+) if (strcmp(studenti.id,find)=0) count+;if (count=PF_FLOATING_POINT_EMULATED)printf( " 学生学号 t 学生班级 t 学生姓名 t 上机时间 n" );printf( "%8s%15s%15s%17,s"tudenti.id,studenti.theclass, ,studenti.ontime);if (!count)

29、提示:该生不存在 ");printf( "*goto A;case 2: count=PF_FLOATING_POINT_PRECISION_ERRATA; printf( "n* 请输入学生的班级 :" );scanf( "%s",find);for (i=0;i<n;i+) if (strcmp(studenti.theclass,find)=0) count+;if (count=PF_FLOATING_POINT_EMULATED)printf( " 学生学号 t 学生班级 t 学生姓名 t 上机时间 n&qu

30、ot; );printf( "%8s%15s%15s%17,s"tudenti.id,studenti.theclass, ,studenti.ontime);if (!count)提示:该生不存在 ");printf( "*goto A;case 3: count=PF_FLOATING_POINT_PRECISION_ERRATA; printf( "n* 请输入学生的姓名 :" );scanf( "%s",find);for (i=0;i<n;i+)if (strcmp(,find)=0)count+;if (count=PF_FLOATING_POINT_EMULATED)printf( "学生学号 t 学生班级 t 学生姓名 t 上机时间 n" );printf( "%8s%15s%15s%17,s"tudenti.id,studenti.theclass, ,studenti.ontime);"* 提示:该生不存在 ");if (!count) printf(goto A;case 4: count=P

温馨提示

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

评论

0/150

提交评论