C语言课程设计报告机房管理系统[1].docx

上传人:牧羊曲112 文档编号:3155338 上传时间:2023-03-11 格式:DOCX 页数:12 大小:41.47KB
返回 下载 相关 举报
C语言课程设计报告机房管理系统[1].docx_第1页
第1页 / 共12页
C语言课程设计报告机房管理系统[1].docx_第2页
第2页 / 共12页
C语言课程设计报告机房管理系统[1].docx_第3页
第3页 / 共12页
C语言课程设计报告机房管理系统[1].docx_第4页
第4页 / 共12页
C语言课程设计报告机房管理系统[1].docx_第5页
第5页 / 共12页
亲,该文档总共12页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《C语言课程设计报告机房管理系统[1].docx》由会员分享,可在线阅读,更多相关《C语言课程设计报告机房管理系统[1].docx(12页珍藏版)》请在三一办公上搜索。

1、C语言课程设计报告机房管理系统1目录 一设计内容 二设计要求 题目要求 输入/输出要求 三整体设计思路 四流程图 层次模块图 空机号查询NS图 五主函数及功能菜单说明 六各模块简要说明 七心得体会 附录 一源程序代码 二各模块运行结果截图 一:设计内容 题目:机房管理系统 设计机房管理系统,要求由菜单进行管理。 上机前先检查是否有空机位,有则将其显示出,无则提示无空位。 还有空位置时,运行进入,并记录下位置号以及序号,与上机时间。 可对上机者上机信息进行查询,修改与删除。 设计相关模块,显示上机者的上机费用。 显示所有上机者的上机信息。 二:设计要求 题目要求: 为各项操作功能设计一个菜单。应

2、用程序运行后,先显示这个菜单,然后用户通过菜单项选择希望进行的操作项目。 要求以上功能分别用函数实现。 输入/输出要求: 应用程序运行后,先显示一个菜单,然后用户根据需要选择相应的操作项目。进入每个操作后,根据程序的提示输入相应的信息。 要求用户输入数据时,要给出清晰、明确的提示信息,包括输入的数据内容、格式及结束方式等。 三:整体设计思路 在设计该程序时,要将系统的不同功能分成各个模块。每个模块由一个函数定义,整个程序由函数调用来实现。每个模块是一个子函数,由一个主函数调用各个子函数。在定义子函数时,根据不同的功能选择不同的语句,如需要使用循环时可以用“dowhile”来实现;需要使用选择时

3、可以用“switch”或“if”语句来实现等。 设计以菜单方式工作的机房管理系统,主要包括六个模块,分别是上机者信息输入模块,上机者信息查询模块,上机者信息修改模块,上机者信息删除模块,上机者上机费用计算模块,所有上机者信息显示模块。每个模块由组员相应完成。另外考虑到机房的特殊要求,新增一个上课模式,此模式功能是将所有机子开启,统一赋上上机者相关信息,避免管理员一个一个的给机子输入信息。 本系统程序关键在于一个空机位的检索,亦是本程序核心之所在。本程序是通过给StudentListtime赋值为0或1分别实现空机号的判断。0代表无人上机,及为空机号,反之1代表有人上机,及不为空机号。 本程序通

4、过定义结构体,包括姓名name,机号seat,学号stu_num,上机时间time四个成员。具体如下; Struct student_infochar name10; int seat; Long stu_num; int time; 四:流程图 层次模块图 学生信息输 入模块 空机号查询模块 查询上机情况模块 修改上机信息模块 删除上机信息模块 显示上机费用模块 显示所有上机信息模块 上课模式模块 退出系统 主菜单 空机号查询NS图 i=0,k=0 for(i=0;i80;i+) StudentListi.time=0 Y N 输出i; Y k=0 N K=1 输出 “无空机位” 空机号检索

5、是本程序的核心,本程序的其它几个模块皆是通过先对空机号的判断然后进行下去的。例如“显示所有上机信息模块”,我们小组通过一个for循环语句,从机号079号逐一判断,符合条件则将其输出。而判断的标准就是if(StudentListi.time!=0)。NS图如下所示: i=0 StudentListi.time!=0 Y N 输出上机信息 不输出 for(i=0;i80;i+) 其它模块类似,流程图省略。 五:主函数及功能菜单说明 在主函数之前,我们首先定义了一个结构体,同时进行了相关函数的声明。其中,结构体包括:姓名name,机号seat,学号stu_num,上机时间time四个成员。在主函数中

6、,我们定义了一个变量j,通过一个for循环语句,从j=0到j=80,分别给所有机子编号,同时给所有机子的上机时间赋以初值0,即: for(j=0;j80;j+) StudentListj.time=0; StudentListj.seat=j; 从而为空机号的检索以及下面各个模块顺利的连接编译做下铺垫。 而功能菜单的实现,我们采用的是switch选择语句并结合dowhile循环的方法,通过人为的输入来实现菜单的操作。为美化菜单,我们加上相应的头文件#include,再加上相应的颜色函数:system( color 5A ),从而成功使系统界面背景颜色与字体分别变成紫色与绿色。 系统菜单界面截图

7、 六:各模块简要说明 学生信息输入模块 学生信息输入模块是本系统的第一个模块,亦是本系统尤为关键的一个模块。下面的模块能够正常运行,皆离不开这一模块。 结合主函数,我们在输入上机者信息时,我们通过对 StudentListi.time进行0或1的判断,对整个机房进行一个空机号的检索,检查是否有空机号,有则执行输入功能,无则输出“机房已满”信息。当然,管理员亦能先执行第二个模块:空机号检索模块,先检索出空机,再让上机者选择机号上机。 空机号查询模块 详见上文流程图部分的介绍。 查询、修改、删除、显示上机信息模块 这四个模块采用的设计思路基本一致,皆通过对StudentListi.time的值进行

8、0或1的判断,达到功能的实现。例如:查询上机信息模块。在此模块中,设计者通过一个if的判断语句,对管理员所输入机号进行一个是否为空机号的判断,若检测到所输机号是空机号时,则不输出相关信息 ,反之,输出相关上机者信息。 显示上机费用模块 此模块采用的是时间乘上每单位时间的费用的计费方式来进行计费的。在本系统中,我们规定每小时上机费用是2元,通过调用在“学生信息输入模块”中所输入的上机时间乘上此费用,从而得到上机者上机费用。 上课模式模块 此模块为本系统新增模块,是根据机房某些时候的特殊需要设计的,旨在能够方便管理员一次性输入数据。而为达到这一功能,我们采用了一个for循环语句,从0号机一直到79

9、号机统一赋上相同的上机时间,学号。For循环语句如下: for(i=0;i80;i+) StudentListi.time=n; StudentListi.stu_num=0; strcpy(StudentListi.name,); 七:心得体会 C语言程序设计是本学期才开的课,虽然到现在已经告一段落,不过现在回想,觉得经过大半个学期的学习,自己的确学到了不少东西,不过依然只是个入门者,经后还得靠自己继续学习,加强。 这次C语言课程设计,在我们小组开始准备时,大家几乎都是一头雾水,尤其是我这个当组长的,更是不知该如何给小组成员分配任务,这也是我遇到的第一个难题。后来在学习函数并且与其它小组讨论

10、之后,渐渐有了眉目。于是我决定按功能模块给小组成员分配任务,我们这个小组基本上是一人负责一个模块,而我在负责“删除上机信息模块”的同时,也担负起主函数与连接各个模块的任务。在这个过程中我于是遇到了第二个困难。 这第二个困难就是如何利用“结构体”。说句实话,在我们小组开始着手准备之时连结构体都弄不清楚,因为压根就还没学到此部分。但在自己查阅相关书籍以及与同学讨论再加上后来老师在“结构体”一章中的讲解,我们终于在最后用结构体完成了此次课程设计。 此次的课程设计之所以能够顺利完成也离不开组员之间的团结协作。比如在此次课程设计中,起初大家都不知道该如何将各个部分连接起来,也就是说该如何选取一个统一的判

11、断标准。后来在经过组员的讨论并亲自实践调试之后,大家得到了一致的意见。从本系统源程序代码中可以大家可以发现,我们小组所编写的程序的核心就是空机号的判断,及上文所提到的StudentListj.time值的判断。(Studenti.time=0表示空机号,等于1则表示非空极号,有人正在操作此机)。于是在接下来的模块编写时,我们小组成员都严格的统一遵照此规定完成了接下来的任务。例如“显示所有上机信息模块”,我们小组就是通过一个for循环语句,通过逐一检查,遇到符合条件的则将其输出。而我们的判断标准就是Studenti.time的值为零则不输出,不为零则将其输出。 因为在这次C语言课程设计中,我们小

12、组可谓经历了一次“自学大作战”,因此我们也逐渐感受到了自学的妙处,我想这必将会对我今后的学习产生一定的积极影响。例如在我们小组基本完成设计之后,我们觉得主界面不够美观,是否可以改进一下呢?于是我们通过上网查阅了相关的资料,发现我们其实可以给主界面以及字体加点背景颜色,而这项工作也并不是很难,只需要调用库函数中的颜色函数。于是我们在主函数中加上Systemn); printf(ttt2-查询空机位(Empty)n); printf(ttt3-查询上机情况n); printf(ttt4-修改上机信息n); printf(ttt5-删除上机信息n); printf(ttt6-显示学生上机费用n);

13、printf(ttt7-显示所有上机信息n); printf(ttt8-上课模式n); printf(ttt9-退出n); scanf(%d,&i); /接受用户的选择 switch(i) case 1:Insert; /调用学生信息输入函数 break; case 2:Empty; /调用空机号检索函数 break; case 3:Search; /调用上机信息查询函数 break ; case 4:Update; /调用上机信息修改函数 break; case 5:Delete; break; case 6:Dispallmoney; /调用计费函数 break; case 7:Show;

14、 /调用上机信息全显示函数 break; case 8:Class; /调用机房上课模式函数 break; case 9:break; default:printf(错误选择!请重选);break; while(i!=9); return 0; void Insert int i,k=0; for(i=0;i=80) printf(请输入小于80的整数);return; if(StudentListi.time!=0) printf(已经有人正在操作此机:);return; printf(请输入上机者姓名:); scanf(%s,StudentListi.name); printf(请输入上机

15、者学号:); scanf(%ld,&StudentListi.stu_num); printf(请输入上机时间:); scanf(%d,&StudentListi.time); void Empty int i,k=0; printf(空机号为:n); for(i=0;i80;i+) / if(StudentListi.time=0) printf(%dt,i); k=1; if(k=0) printf(无空机位!);return; void Search int i; printf(请输入要查询的机号:); scanf(%d,&i); 检测空机号并将其输出 if(StudentListi.t

16、ime!=0) /判断标准,检索到则输出 printf(姓名:%st,StudentListi.name); printf(学号:%ldt,StudentListi.stu_num); printf(上机时间:%dt,StudentListi.time); else printf(没有查询到!); void Update int i; printf(请输入要修改数据的机号:); scanf(%d,&i); if(StudentListi.time!=0) / printf(请输入姓名:); scanf(%s,StudentListi.name); printf(请输入学号:); scanf(%

17、ld,&StudentListi.stu_num); printf(请输入上机时间:); scanf(%d,&StudentListi.time); else printf(没有查询到可以修改的数据!); void Delete int i; printf(请输入要删除信息的机号:); scanf(%d,&i); if(StudentListi.time=0) printf(无需修改!); StudentListi.time=0; strcpy(StudentListi.name,); 判断标准,检索到则输出 void Dispallmoney int i,money; printf(请输入结

18、账机号:); scanf(%d,&i); money=2*StudentListi.time;/计费采用公式:时间*每次的费用,简单计算 printf(您的上机费用为:%d,money); void Show int i; printf(n); printf(机号t姓名t学号tt上机时间n); for(i=0;i80;i+) if(StudentListi.time!=0) /判断标准,检索到则输出 printf(%dt,StudentListi.seat); printf(%st,StudentListi.name); printf(%ldtt,StudentListi.stu_num);

19、printf(%dn,StudentListi.time); void Class int i,n; printf(请输入上课时间:n); scanf(%d,&n); for(i=0;i80;i+) /给所有机子上机时间统一赋值,所有机子开启 StudentListi.time=n; StudentListi.stu_num=0; strcpy(StudentListi.name,); 二:各模块运行结果截图 1.主菜单界面 2.学生信息输入界面 3.空机号查询界面 4.查询上机信息界面 5.修改上机信息界面6.删除上机信息界面 7.显示学生上机费用界面 8.显示所有上机信息界面 9.上课模式界面

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号