1、C语言机房收费管理系统课程设计课程设计报告课程设计题目:机房收费管理系统 学 号:2021052112姓 名:刘名专 业:信息与计算科学班 级:信息131指导教师: 孙雪莲 2021 年 3月18 日1实验题目:?机房收费管理系统?设计任务1输入功能:输入30名学生的学号、班级、姓名、上机起止时间。2计算功能:计算每个学生的上机费用。上机费用=上机时间* 1.0/h ,缺乏一小时按一小时计算3查询功能:按条件班级、学号、姓名、上机时间显示学生信息。2实验时间,地点实验时间:15周实验地点:软件楼 2083实验目的:通过对根本数据类型、语句、数组、函数、构造、指针以及文件等的操作,使学生全面掌握
2、构造化程序设计的根本方法。4实验要求: 从课程设计的目的出发,通过课程设计的各个环节,到达以下教学要求:1进一步掌握C语言程序设计的根本思想和方法;2掌握构造化程序设计的根本原理及应用;5实验思路:需求分析:根据机房收费管理设计的要求,需要设计三个功能,分别是输入功能,计算功能和查询功能。在输入功能方面,需要把学号、班级、姓名、上机时间等输入进系统中。在计算功能方面,需要计算出每个学生的上机所用的费用。在查询功能方面,要能够按照查询条件,查询出相应的班级、学号、姓名、上机时间等学生信息。在设计工程中,把每个功能使用自定义函数的方式书写,并最后用switch语句在主函数中调用,使用模块化设计的总
3、体思路。流程图为:6实现过程:#include /*I/O函数*/#include /*字符串函数*/#include /*标准库函数*/struct time /*定义时间构造*/ int hour; /*时*/ int minute; /*分*/;typedef struct STUDENT /*定义学生信息构造*/ int no; /*学号*/ char cla10; /*班级*/ char name10; /*姓名*/ int time_hour; /*上机时间*/ int time_minute; struct time begin,end; /*嵌套时间构造*/;struct ST
4、UDENT student30;static int i =0; /*全局静态变量*/void insert(); /*输入功能函数*/void end_money(); /*结账功能函数*/void select_no(); /*学号查询功能函数*/void select_name(); /*姓名查询功能函数*/void select_cla(); /*班级查询功能函数*/int main() /*主函数*/ int i; for(;) /*主菜单*/ printf(tt*n); printf(tt*机房收费管理系统*n); printf(tt*n); printf(1.-输入学生信息:n)
5、; printf(2.-结账:n); printf(3.-按学号查询:n); printf(4.-按班级查询:n); printf(5.-按姓名查询:n); printf(6.-退出系统:n); printf(nn编程人员:刘忠杨张鼎); printf(nn请选择功能:); scanf(%d,&i); switch(i)/*选择分支构造*/ case 1: system(cls); insert(); break; case 2: system(cls); end_money(); break; case 3: system(cls); select_no(); break; case 4:
6、system(cls); select_cla(); break; case 5: system(cls); select_name(); break; case 6: return 0; system(pause); return 0;void insert() /*输入功能*/ printf(请输入学号:); scanf(%d,&studenti.no); printf(请输入姓名:); scanf(%s,&studenti.name); printf(请输入班级:); scanf(%s,&studenti.cla); printf(请输入上机时间:); scanf(%d:%d,&stud
7、enti.begin.hour,&studenti.begin.minute); i = i + 1; system(pause); system(cls); void end_money() /*计算功能*/ int m,minute,hour; /*保存时间*/ int no; printf(请输入学号:); scanf(%d,&no); for(m = 0;m i;m+) if(no = studentm.no) printf(请输入%d的下机时间:,no); scanf(%d:%d,&studentm.end.hour,&studentm.end.minute); if(student
8、m.end.minute 0) hour = hour + 1; printf(上机时间为:%d:%d 费用为:%d,studentm.time_hour,studentm.time_minute,hour); else printf(上机时间为:%d:%d 费用为:%d,studentm.time_hour,studentm.time_minute,hour); system(pause); system(cls);/*清屏*/ Void select_no() /*按学号查询功能*/ int no; int m; printf(请输入学号:); scanf(%d,&no); for(m =
9、 0;m i;m+) if(no = studentm.no) printf(学号为%dt,studentm.no); printf(班级为%st,studentm.cla); printf(姓名为%st,&studentm.name); printf(上机开场时间为%d:%dt,studentm.begin.hour,studentm.begin.minute); printf(上机完毕时间为%d:%dt,studentm.end.hour,studentm.end.minute); printf(上机时间为:%d:%dnt,studentm.time_hour,studentm.time_
10、minute); else if( m = i) printf(没有该记录:n); system(pause); system(cls);/*清屏*/ void select_cla() /*按班级查询功能*/ char cla10; int m; printf(请输入班级:); scanf(%s,cla); for(m = 0;m i;m+) if(!strcmp(cla,studentm.cla) printf(学号为%dt,studentm.no); printf(班级为%st,studentm.cla); printf(姓名为%st,&studentm.name); printf(上机
11、开场时间为%d:%dt,studentm.begin.hour,studentm.begin.minute); printf(上机完毕时间为%d:%dt,studentm.end.hour,studentm.end.minute); printf(上机时间为:%d:%dn,studentm.time_hour,studentm.time_minute); else if( m = i) printf(没有该记录:n); system(pause); system(cls);/*清屏*/ void select_name()/*按姓名查询功能*/ char name10; int m; prin
12、tf(请输入姓名:); scanf(%s,name); for(m = 0;m i;m+) if(!strcmp(name,studentm.name)/*字符串的比拟 非0为真执行*/ printf(学号为%dt,studentm.no); printf(班级为%st,studentm.cla); printf(姓名为%st,&studentm.name); printf(上机开场时间为%d:%dt,studentm.begin.hour,studentm.begin.minute); printf(上机完毕时间为%d:%dt,studentm.end.hour,studentm.end.m
13、inute); printf(上机时间为:%d:%dn,studentm.time_hour,studentm.time_minute); else if( m = i) printf(没有该记录:n); system(pause); system(cls);/*清屏*/7.实验总结: 根据机房收费管理系统的需求分析和设计要求,这次通过C语言程序设计,实现了本系统的根本功能,分别是信息的输入,查询和计算。 虽然实现了这三大根本功能,但是这次的程序设计也还是存在着一些缺乏之处,由于是新接触编程设计,自身对于学习的知识点也存在着一些模糊的概念。所以,在对于程序的模块化设计方面,认识也有待加强,代码
14、变量使用过多,占用内存大,有很大的优化方向。 在实现功能的过程中,并没有用到指针和链表等高级C语言编程方式,这也是这次编程需要改良的地方。通过对机房收费管理系统的编写,更加掌握了C语言的根本语法,稳固了本学期所学的C语言知识。同时在C的设计过程中,对C语言运用循环,自定义函数等方面的思想有了更加深刻的认识,体会到了高级编程的强大,对以后编写程序有了很好的初步认识。 通过这周的课程设计,也认识到自己对于C语言的一些缺乏之处,在对书本的知识点还有些掌握的不够透彻,在一些编程的地方可以更加优化代码,以最少的代码实现最强大的功能。在指针和链表方面,以后也还需要和教师同学探讨,让以后的C语言编程中能够合理的运用这些C语言里的精华内容。【本文档内容可以自由复制内容或自由编辑修改内容期待你的好评和关注,我们将会做得更好】
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1