《2022年机房收费管理系统课程方案设计书 .pdf》由会员分享,可在线阅读,更多相关《2022年机房收费管理系统课程方案设计书 .pdf(17页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Web课程设计课程设计题目:机房收费管理系统学号: 111202070114 姓名: 万晓璐班级:软件技术1 班精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 1 页,共 17 页实验题目:机房收费管理系统设计任务(1)输入功能: 输入 30 名学生的学号、班级、姓名、上机起止时间。(2)计算功能: 计算每个学生的上机费用。(上机费用 =上机时间 * 1.0/h ,不足一小时按一小时计算)(3)查询功能: 按条件(班级、学号、姓名、上机时间)显示学生信息。1 实验时间,地点实验时间: 15周实验地点:软件楼 2082 实验目的:通过对基本数据类型、
2、语句、数组、函数、结构、指针以及文件等的操作,使学生全面掌握结构化程序设计的基本方法。3 实验要求:从课程设计的目的出发,通过课程设计的各个环节,达到以下精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 2 页,共 17 页教案要求:(1)进一步掌握 C语言程序设计的基本思想和方法;(2)掌握结构化程序设计的基本原理及应用;4 实验思路:需求分析: 根据机房收费管理设计的要求,需要设计三个功能,分别是输入功能,计算功能和查询功能。在输入功能方面,需要把学号、班级、姓名、上机时间等输入进系统中。在计算功能方面,需要计算出每个学生的上机所用的费用。在查询
3、功能方面,要能够按照查询条件,查询出相应的班级、学号、姓名、上机时间等学生信息。在设计工程中,把每个功能使用自定义函数的方式书写,并最后用switch语句在主函数中调用,使用模块化设计的总体思路。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 3 页,共 17 页流程图为:主菜单查询输入计算学号班级姓名上 机时间学号班级姓名上 机 时间上机费用精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 4 页,共 17 页5 实现过程:#include /*I/O函数*/ #include /*字符串函数 */ #
4、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 。 /*嵌套时间结构 */ 。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 5 页
5、,共 17 页struct STUDENT 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)。 prin
6、tf(tt*n)。printf(1.- 输入学生信息 :n)。printf(2.- 结账:n)。printf(3.- 按学号查询 :n)。printf(4.- 按班级查询 :n)。printf(5.- 按姓名查询 :n)。printf(6.- 退出系统: n)。printf(nn编程人员 :刘忠杨 张鼎精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 6 页,共 17 页)。printf(nn 请选择功能: )。scanf(%d,&i) 。switch(i)/* 选择分支结构 */ case 1: system(cls)。insert()。break
7、。case 2: system(cls)。end_money()。break。case 3: system(cls)。select_no()。break。case 4: 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 7 页,共 17 页 system(cls)。select_cla() 。break。case 5: system(cls)。select_name() 。break。case 6: return 0。 system(pause) 。 return 0。 void insert() /*输入功能 */ printf( 请输入学号 :)
8、。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 8 页,共 17 页scanf(%d,&studenti.no) 。printf( 请输入姓名 :)。scanf(%s,&studenti.name)。printf( 请输入班级 :)。scanf(%s,&studenti.cla)。printf( 请输入上机时间 :)。scanf(%d:%d,&studenti.begin.hour,&studenti.begin.minute)。i = i + 1。system(pause) 。system(cls)。 void end_money() /* 计
9、算功能 */ int m,minute,hour。 /*保存时间 */ int no。printf( 请输入学号 :)。scanf(%d,&no) 。for(m = 0。m i。m+) 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 9 页,共 17 页 if(no = studentm.no) printf( 请输入%d 的下机时间 :,no)。scanf(%d:%d,&studentm.end.hour,&studentm.end.minute)。if(studentm.end.minute 0) hour = hour + 1。printf(
10、 上 机 时 间 为 : %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)。/*清屏*/ 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 11 页,共 17 页 Void select_no() /* 按学号查询功能 */ int no。int m。printf( 请输入
11、学号 :)。scanf(%d,&no) 。for(m = 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:%dn
12、t,studentm.time_hour,studentm.time_minute)。 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 12 页,共 17 页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) pr
13、intf( 学号为 %dt,studentm.no)。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 13 页,共 17 页 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:%dn,stu
14、dentm.time_hour,studentm.time_minute)。 else if( m = i) printf( 没有该记录 :n)。 system(pause) 。system(cls)。/*清屏*/ void select_name()/*按姓名查询功能 */ char name10 。int m。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 14 页,共 17 页printf( 请输入姓名 :)。scanf(%s,name) 。for(m = 0。m i。m+) if(!strcmp(name,studentm.name)/*字
15、符串的比较非 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.minute) 。 printf(上机时间为:%d:%dn,studentm.time_hour,studentm.time_minute)。
16、else if( m = i) printf( 没有该记录 :n)。 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 15 页,共 17 页 system(pause) 。system(cls)。/*清屏*/ 7.实验总结:根据机房收费管理系统的需求分析和设计要求,这次通过C 语言程序设计,实现了本系统的基本功能,分别是信息的输入,查询和计算。虽然实现了这三大基本功能,但是这次的程序设计也还是存在着一些不足之处,由于是新接触编程设计,自身对于学习的知识点也存在着一些模糊的概念。所以,在对于程序的模块化设计方面,认识也有待加强,代码变量使用过多,占用
17、内存大,有很大的优化方向。在实现功能的过程中,并没有用到指针和链表等高级C语言编程方式,这也是这次编程需要改进的地方。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 16 页,共 17 页8.心得体会通过对机房收费管理系统的编写,更加掌握了C 语言的基本语法,巩固了本学期所学的C 语言知识。同时在C 的设计过程中,对C 语言运用循环,自定义函数等方面的思想有了更加深刻的认识,体会到了高级编程的强大,对以后编写程序有了很好的初步认识。通过这周的课程设计,也认识到自己对于C 语言的一些不足之处,在对书本的知识点还有些掌握的不够透彻,在一些编程的地方可以更加优化代码,以最少的代码实现最强大的功能。在指针和链表方面,以后也还需要和老师同学探讨,让以后的C 语言编程中能够合理的运用这些C语言里的精华内容。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 17 页,共 17 页