版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
二、设计思路
.题目:个理1总体设计1分析程序的功能:设计一个机房收费系统,实现对学生上机收费的管理,从而方便学校机房的管理。2
系统总体结构:每一次运行的过程可以由这几部分完成生的上机学号姓名上级起始时间;计算:计算每个学生的上机费用;查询:查找学生上机信息并显示(班级、学号、姓名显示机器使用情况信息总共四个步骤:模块输入学生信息查询学生上机情况计算机时费用显示机器使用情况
函数名称InputFindstunumCalculateComputer对于每一次运行,关注的数据有三个生的信息计算机时费用(3学生上机情况;对于统计信息需要三个:)学生上机信息并显示(班级、学号、姓名)(2显示机器使用情况信息(3机学生的学号级名机起始时间;这几组数据部联系很大,所以考虑把他们封装为结构体变量。word专业资料
.机器使用信息需要记录两个器使用的标记(2使用机器的学生。根据问题的描述,可以按照程序要求的功能采用结构化的设计思想。机房收费系统可利用菜单界面制作switch句)使用户选择各个功能模块,而后可根据不同的选项进入到不同的功能模块进行执行。结束程序,选y之外的任何字母或数字,如果想让程序循环执行,则选择y。以上功能模块分别用函数来实现,然后由主函数main调用。机器使用标记使用机器学生
成员名称hourminutesecondfStudent
表示信息学号班级姓名上机起始时间上机标志
成员名称numclassnamestart,finishflag2各功能模块的设计:说明各功能模块的实现方法1)Input块该函数为输入学生信息:学号,姓名,班级,上机起始时间,并对学生是否上机做标记(flag为1为为上机上机数一致。2)Findstunum块查询功能:当输入的学号与学生信息中的学号相同时,则输出该生学号,班级,姓名和上下时间,若该生未下机,则下机时间显示0下机功能:询问是否下机,用switch语句控制,若下机则要求输入下机时间,不word专业资料
.下机则退出。3Calculate计算)模块该模块中,由于时、分、秒三个时间单位不统一,首先要统一单位,均用秒做单位(1h=3600s1min=60s),然后判断上机时间是否满一小时,不满一小时按一小时收费,超过一小时再进行计算。不足一小时按一小时收费,整小时则每小时1收费。代码参见Calculate计算)函数。4)calout输出)模块输出上机学生学号,班级,姓名,若下机显示消费金额,没下机显示“未下机5)computer模块首先计算机使用情况信息:通过标记判断机器是否在使用,机器在使用则显示学生信息,机器未使用则显示学生已下机。通过标记判断机器是否在使用,机器在使用则显示学生信息,机器未使用则显示学生已下机。2查询功能:采取输入的学号与学生信息中的学号是否对应相等来判断。4你所设计的程序最终完成的功能1说明你编制的程序能完成的功能输入功能:输入上机学生的学号,班级,姓名,上机起始时间。计算功能:计算每个学生的上机费用,每小时1。查询功能:查找学生上机信息并显示(班级、学号、姓名)显示机器使用情况信息。word专业资料
.2准备的测试数据及运行结果word专业资料
.三、程序清单1数//函数voidmain(){while(y){cout<<"择功能"<<endl;cout<<"0入现在时"<<endl;cout<<"1入学生信"<<endl;cout<<"2学号查"<<endl;cout<<"3脑使用情"<<endl;cout<<"4机费用"<<endl;cout<<"5束程序"<<endl;cout<<"输入";word专业资料
.cin>>a;switch{casetime();break;caseinput();break;casefindstunum();break;casecomputer();break;casecalout();break;casey=0;break;}}}}2)Input数voidinput(){while(1){word专业资料
.cout<<"入学生的学号班级姓名上机起始时间h-m-s"<<endl;cin>>stu[renshu].num>>stu[renshu].banji>>stu[renshu].name>>stu[renshu].start.hour>>stu[renshu].start.minute>>stu[renshu].start.second;stu[renshu].flag=1;comp[renshu].f=1;strcpy(comp[renshu].stus.num,stu[renshu].num);comp[renshu].stus.banji=stu[renshu].banji;strcpy(comp[renshu].,stu[renshu].name);cout<<"1.续输入0.结束输入"<<endl;cin>>flag;renshu++;if(flag!=1)break;跳出输入循环}}3)Findstunum数voidfindstunum(){word专业资料
.intcharxh[10];cout<<"输入要查找的学号:";cin>>xh;for(inti=0;i<renshu;i++)if(strcmp(stu[i].num,xh)==0){cout<<"示学生的
学号班级姓名上下时间"<<endl;cout<<stu[i].num<<'\t'<<stu[i].banji<<'\t'<<stu[i].name<<'\t'<<stu[i].start.hour<<stu[i].start.minute<<stu[i].start.second<<"---"<<stu[i].finish.hour<<stu[i].finish.minute<<stu[i].finish.second<<endl;cout<<"否下机?"<<endl;cout<<"1是2"<<endl;cin>>a;switch{case{word专业资料
.cout<<"入下机时间h-m-s"<<endl;cin>>stu[i].finish.hour>>stu[i].finish.minute>>stu[i].finish.second;stu[i].flag=2;comp[i].f=2;break;}case2:break;}}for(i=0;i<renshu;i++)if(strcmp(stu[i].num,xh)!=0)cout<<"=====存在!!====="<<endl;}doublecal(int{intc;doublec=(((stu[i].finish.hour*3600+stu[i].finish.minute*60+stu[i].finish.second)-word专业资料
.(stu[i].start.hour*3600+stu[i].start.minute*60+stu[i].start.second))/3600);d=(((stu[i].finish.hour*3600+stu[i].finish.minute*60+stu[i].finish.second)-(stu[i].start.hour*3600+stu[i].start.minute*60+stu[i].start.second))*1.0000/3600);if(c==0)a=1.0000;if(c>0){if(d-c>0)a=(c+1)*1.00000;if(d-c==0)a=c*1.00000;}return}4)Computer数voidcomputer(){word专业资料
.cout<<"=====算机的使用情况====="<<endl;cout<<"算机编号for(inti=0;i<30;i++){
使用的学生的学号
班级姓名"<<endl;if(comp[i].f==2)cout<<i<<'\t'<<"生已下"<<endl;elseif(comp[i].f==1)cout<<i<<'\t'<<comp[i].stus.num<<'\t'<<comp[i].stus.banji<<'\t'<<comp[i].<<endl;elsecout<<i<<'\t'<<"计算机未被使"<<endl;}}5)Calculate函数doublecal(int{intc;doubleword专业资料
.c=(((stu[i].finish.hour*3600+stu[i].finish.minute*60+stu[i].finish.second)-(stu[i].start.hour*3600+stu[i].start.minute*60+stu[i].start.second))/3600);d=(((stu[i].finish.hour*3600+stu[i].finish.minute*60+stu[i].finish.second)-(stu[i].start.hour*3600+stu[i].start.minute*60+stu[i].start.second))*1.0000/3600);if(c==0)a=1.0000;if(c>0){if(d-c>0)a=(c+1)*1.00000;if(d-c==0)a=c*1.00000;}return}6)Calout数voidword专业资料
calout()
//算机时费用{cout<<"示学生的
.学号班级姓名消费金额"<<endl;for(inti=0;i<renshu;i++){if(stu[i].flag==1)cout<<stu[i].num<<'\t'<<stu[i].banji<<'\t'<<stu[i].name<<'\t'<<cal(i)<<'\t'<<"下机"<<endl;if(stu[i].flag==2)cout<<stu[i].num<<'\t'<<stu[i].banji<<'\t'<<stu[i].name<<'\t'<<cal(i)<<endl;}}7数voidtime(){inth,m,s;cout<<"间格式h-m-s"<<endl;word专业资料
.cin>>h>>m>>s;for(inti=0;i<renshu;i++)if(stu[i].finish.hour!=0||stu[i].finish.minute!=0||stu[i].finish.second!=0)如果有结束时间,将不对结束时间赋值;else//有结束时间,赋当前时间值{stu[i].finish.hour=h;stu[i].finish.minute=m;stu[i].finish.second=s;}}四、对该设计题目有何更完善的方案1对自己完成程序进行自我评价。能独立思考程序并在他人协助下完成程序编写与调试能很好的运用所学的知识解决程序中所出现的问题。通过对课程的设计,使我知道自身的不足,以及C++深奥,相信自己会在假期中增强对C++的了解及应用.2对课题提出更完善的方案加入创新元素就更好了,以后自己在这方面多努力。word专业资料
.五、收获及心得体对输入的数据要进行合理性检
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年大堂经理年度工作总结范文
- 2024年房产销售个人工作总结
- 酒店前台礼貌礼仪培训
- 结肠癌疼痛护理措施
- 玉林师范学院《管理学原理》2021-2022学年第一学期期末试卷
- 医疗设备基础介绍
- 2024年度摄影修复与数字化转换合同2篇
- 二零二四年度写字楼租赁合同范本2篇
- 湖北省宜荆荆恩2025届高三上学期9月起点考试试卷化学试卷试题及答案解析
- 2024年度大型港口码头建设与运营合同3篇
- 设备维护保养计划
- 小学123年级英语看图写话
- 管道保温层厚度的计算方法
- 小区宽带运营商业计划书模板
- 中医操作流程图.
- 电子内窥镜图像处理器产品技术要求
- 第一章体能训练概述PPT
- XX医院内科病房医院感染暴发应急处置演练脚本
- MIL-PRF-13830B镜片表面质量解读与范例
- 艾滋病初筛实验室SOP文件
- 常压容器设备强度计算书(模板)
评论
0/150
提交评论