收藏 分销(赏)

语言专业课程设计方案报告机房标准管理系统.doc

上传人:精**** 文档编号:2798162 上传时间:2024-06-06 格式:DOC 页数:22 大小:455.04KB
下载 相关 举报
语言专业课程设计方案报告机房标准管理系统.doc_第1页
第1页 / 共22页
语言专业课程设计方案报告机房标准管理系统.doc_第2页
第2页 / 共22页
语言专业课程设计方案报告机房标准管理系统.doc_第3页
第3页 / 共22页
语言专业课程设计方案报告机房标准管理系统.doc_第4页
第4页 / 共22页
语言专业课程设计方案报告机房标准管理系统.doc_第5页
第5页 / 共22页
点击查看更多>>
资源描述

1、目录一 设计内容二 设计规定(1)题目规定 (2)输入/输出规定三 整体设计思路四 流程图(1)层次模块图(2)空机号查询NS图五主函数及功能菜单阐明六各模块简要阐明七心得体会附录一 源程序代码二 各模块运营成果截图 一:设计内容题目:机房管理系统设计机房管理系统,规定由菜单进行管理。 (1)上机前先检查与否有空机位,有则将其显示出,无则提示无空位。 (2)尚有空位置时,运营进入,并记录下位置号以及序号,与上机时间。 (3)可对上机者上机信息进行查询,修改与删除。 (4)设计有关模块,显示上机者上机费用。 (5)显示所有上机者上机信息。二:设计规定题目规定:(1) 为各项操作功能设计一种菜单。

2、应用程序运营后,先显示这个菜单,然后顾客通过菜单项选取但愿进行操作项目。(2) 规定以上功能分别用函数实现。输入/输出规定:(1) 应用程序运营后,先显示一种菜单,然后顾客依照需要选取相应操作项目。进入每个操作后,依照程序提示输入相应信息。(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=0for(i=0;i80;i+) StudentListi.time=0 Y N 输出i; Y k=0 N K=1 输出 “无空机位” 空机号检索是本程序核心,本程序其他几种模块皆是通过先对空机号判

5、断然后进行下去(及先对StudentListtime值进行0或1判断)。例如“显示所有上机信息模块”,咱们小组通过一种for循环语句,从机号079号逐个判断,符合条件则将其输出。而判断原则就是if(StudentListi.time!=0)。NS图如下所示: i=0for(i=0;i80;i+) StudentListi.time!=0 Y N 输出上机信息 不输出 其他模块类似,流程图省略。五:主函数及功能菜单阐明在主函数之前,咱们一方面定义了一种构造体,同步进行了有关函数声明。其中,构造体涉及:姓名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值进行0或1判断,达到功能实现。例如:查询上机信息模块。在此模块中,设计者通

8、过一种if判断语句(即:if(StudentListi.time!=0) ),对管理员所输入机号进行一种与否为空机号判断,若检测到所输机号是空机号(即:StudentListi.time=0)时,则不输出有关信息 ,反之,输出有关上机者信息。显示上机费用模块此模块采用是时间乘上每单位时间费用计费方式来进行计费。在本系统中,咱们规定每小时上机费用是2元,通过调用在“学生信息输入模块”中所输入上机时间(即:StudentListi.time)乘上此费用,从而得到上机者上机费用。上课模式模块此模块为本系统新增模块,是依照机房某些时候特殊需要设计,旨在可以以便管理员一次性输入数据。而为达到这一功能,咱

9、们采用了一种for循环语句,从0号机始终到79号机统一赋上相似上机时间,学号。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、次“自学大作战”,因而咱们也逐渐感受到了自学妙处,我想这必将会对我此后学习产生一定积极影响。例如在咱们小组基本完毕设计之后,咱们觉得主界面不够美观,与否可以改进一下呢?于是咱们通过上网查阅了有关资料,发现咱们其实可以给主界面以及字体加点背景颜色,而这项工作也并不是很难,只需要调用库函数中颜色函数。于是咱们在主函数中加上System(color 0A),并加上相应头文献#include。于是咱们就成功实现了这一功能,给该程序主界面赋上了紫色,字体也变为了绿色。 在课程设计中,收获知识,提高能力同步,我也学到了诸多人生哲理,懂得如何去制定筹划,怎么样去实现这个筹划,并掌握了在执行过程中如何去克服心

13、理上不良情绪,因而在后来生活和学习过程中,我一定会把课程设计精神带到生活中,不畏艰难,勇往直前! 附录一:源程序代码#include#include#include #define MaxSize 80struct student_info char name10; /姓名 int seat; /机号 long stu_num; /学号 int time; /上机时间 StudentListMaxSize;void Insert();void Empty();void Search();void Update();void Delete();void Dispallmoney();void S

14、how();void Class();int main() int i,j;system(color 5A); /字体和背景颜色 for(j=0;j80;j+) StudentListj.time=0; /给所有机子上机时间赋值为0,代表空机 StudentListj.seat=j; /给所有机子编号 printf(ttt*nn);/显示一种简易菜单 printf(ttt 欢迎使用机房管理系统nn); printf(ttt*nn); do printf(n); printf(ttt1-输入学生信息(Insert)n); printf(ttt2-查询空机位(Empty)n); printf(tt

15、t3-查询上机状况(Search)n); printf(ttt4-修改上机信息(Update)n); printf(ttt5-删除上机信息(Delete)n); printf(ttt6-显示学生上机费用(Dispallmoney)n); printf(ttt7-显示所有上机信息(Show)n); printf(ttt8-上课模式(Class)n); printf(ttt9-退出(Exit)n); scanf(%d,&i); /接受顾客选取 switch(i) case 1:Insert(); /调用学生信息输入函数 break; case 2:Empty(); /调用空机号检索函数 break

16、; case 3:Search(); /调用上机信息查询函数 break ; case 4:Update(); /调用上机信息修改函数 break; case 5:Delete(); break; case 6:Dispallmoney(); /调用计费函数 break; case 7:Show(); /调用上机信息全显示函数 break; case 8:Class(); /调用机房上课模式函数 break; case 9:break; default:printf(错误选取!请重选);break; while(i!=9); return 0;void Insert() int i,k=0;

17、for(i=0;i=80) printf(请输入不大于80整数);return; if(StudentListi.time!=0) printf(已有人正在操作此机:);return; printf(请输入上机者姓名:); scanf(%s,StudentListi.name); printf(请输入上机者学号:); scanf(%ld,&StudentListi.stu_num); printf(请输入上机时间:); scanf(%d,&StudentListi.time);void Empty() int i,k=0; printf(空机号为:n); for(i=0;i80;i+) /检测

18、空机号并将其输出 if(StudentListi.time=0) printf(%dt,i); k=1; if(k=0) printf(无空机位!);return;void Search()int i; printf(请输入要查询机号:); scanf(%d,&i); if(StudentListi.time!=0) /判断原则,检索到则输出 printf(姓名:%st,StudentListi.name); printf(学号:%ldt,StudentListi.stu_num); printf(上机时间:%dt,StudentListi.time); else printf(没有查询到!)

19、;void Update()int i; printf(请输入要修改数据机号:); scanf(%d,&i); if(StudentListi.time!=0) /判断原则,检索到则输出 printf(请输入姓名:); scanf(%s,StudentListi.name); printf(请输入学号:); scanf(%ld,&StudentListi.stu_num); printf(请输入上机时间:); scanf(%d,&StudentListi.time); else printf(没有查询到可以修改数据!);void Delete()int i; printf(请输入要删除信息机号

20、:); scanf(%d,&i); if(StudentListi.time=0) printf(无需修改!); StudentListi.time=0; strcpy(StudentListi.name,);void Dispallmoney()int i,money; printf(请输入结账机号:); scanf(%d,&i); money=2*StudentListi.time;/计费采用公式:时间*每次费用,简朴计算 printf(您上机费用为:%d,money);void Show()int i; printf(n); printf(机号t姓名t学号tt上机时间n); for(i=

21、0;i80;i+) if(StudentListi.time!=0) /判断原则,检索到则输出 printf(%dt,StudentListi.seat); printf(%st,StudentListi.name); printf(%ldtt,StudentListi.stu_num); 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. 空机号查询界面(注意:Mike所上12号机已经没有显示。)4. 查询上机信息界面5. 修改上机信息界面(注意:从所截图中可看出12号机信息已经修改成功。)6. 删除上机信息界面(注意:从所截图中可看出12号机信息已经成功删除。)7. 显示学生上机费用界面8. 显示所有上机信息界面9. 上课模式界面(注意:从截图中可以看出机房成功启动上课模式。)

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服