C++机房收费系统文档_第1页
C++机房收费系统文档_第2页
C++机房收费系统文档_第3页
C++机房收费系统文档_第4页
C++机房收费系统文档_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PAGE辽宁工程技术大学《C语言课程设计》报告题目:专业年级:学号:姓名:指导教师:2015年7月[问题定义] 选定的题目内容:选题十二:机房收费管理系统(1)输入功能:输入若干名学生的学号、班级、姓名、开始上机时间和结束上机时间。(2)计算功能:计算每个学生的上机费用(计算公式:上机费用=(结束上机时间-开始上机时间)*收费标准,(以分钟为单位))(3)修改功能:修改学生上机的个人档案(如:增添)(4)查询功能:按条件(班级、学号、姓名)查询学生上机信息,并能显示查询学生的相应全部档案。实际完成的软件功能:(1)输入功能:输入若干名学生的学号、班级、姓名、开始上机时间和结束上机时间。(2)计算功能:计算每个学生的上机费用(计算公式:上机费用=(结束上机时间-开始上机时间)*收费标准,(以分钟为单位))(3)修改功能:修改学生上机的个人档案(如:增添)(4)查询功能:按条件(班级、学号、姓名)查询学生上机信息,并能显示查询学生的相应全部档案(5)显示功能:显示全部机器的使用信息[开发工具][数据结构]//(1)输入功能:输入若干名学生的学号、班级、姓名、开始上机时间和结束上机时间。//(2)计算功能:计算每个学生的上机费用(计算公式:上机费用=(结束上机时间-开始上机时间)*收费标准,(以分钟为单位))//(3)修改功能:修改学生上机的个人档案(如:增添)//(4)查询功能:按条件(班级、学号、姓名)查询学生上机信息,并能显示查询学生的相应全部档案。#include<>#include<>#include<>#include<>structtime/*时间*/{inthour; intminute; intsecond;};typedefstruct/*学生信息*/{charnum[20];/*学号*/ charbanji;/*班级*/intflag;/*用来标注学生是否上机*/ charname[20];/*姓名*/ structtimekaishi,jiesu;/*上机起始时间*/}Student;Studentstu[50];/*信息库*/structcomputer/*机器信息*/{intf;/*用来标注这台机器是否使用*/Studentstut;/*使用这台机器的学生*/}com[30];/*30台机器*/intk;intmain_menu()/*主菜单*/{charc; do {system("cls");/*清屏*/ printf("\t╭━━━机房收费管理系统━━━╮\n"); printf("\t┃1.输入学生信息┃\n"); printf("\t┃2.上机时间┃\n"); printf("\t┃3.下机时间┃\n"); printf("\t┃4.查询上机时间及费用┃\n"); printf("\t┃5.电脑使用情况显示┃\n"); printf("\t┃0.退出系统┃\n"); printf("\t╰━━━━━━━━━━━━━━╯\n"); printf("\t请选择菜单序号(0-5):"); c=getchar(); }while(c<'0'||c>'5');/*判断输入是否合法*/ return(c-'0');}intinput(Studentstu[],intn)/*输入学生信息*/{inti=0; charsign='0'; while(sign!='n'&&sign!='N')/*判断是否继续输入学生信息*/ {getchar();/*吃掉回车*/ printf("\n\t\t学号:"); gets(stu[n+i].num); printf("\t\t班级:"); scanf("%s",&stu[n+i].banji); getchar(); printf("\t\t姓名:"); gets(stu[n+i].name); printf("\t\t继续输入?是请按Y,否请按N:"); scanf("%c",&sign); stu[n+i].flag=0;/*初始化为未上机*/ i++; } return(n+i);}voidshangji(Studentstu[],intn)/*上机*/{charnum_t[20],name_t[20]; inti,s; do {printf("\n\t\t使用姓名输入1\n\t\t使用学号输入2\n\t\t请输入序号:"); scanf("%d",&s); }while(s!=1&&s!=2); getchar(); if(s==1) {printf("\t\t请输入姓名:"); gets(name_t); for(i=0;i<n;i++)/*查找信息库中是否有该学生信息*/ if(strcmp(stu[i].name,name_t)==0) break;} else {printf("\t\t请输入学号:"); gets(num_t); for(i=0;i<n;i++) {if(strcmp(stu[i].num,num_t)==0) break;} } if(i==n) {printf("\t\t无该生记录!请输入该生信息后再上机!\n"); return;} elseif(stu[i].flag==1) {printf("\t\t该生正在上机!\n"); return;} else {for(k=0;k<30;k++) {if(com[k].f==0) {com[k].f=1;/*该台机器标记为使用*/ printf("\t\t请输入上机时间(当前时间):"); scanf("%d:%d:%d",&stu[i].kaishi.hour,&stu[i].kaishi.minute,&stu[i].kaishi.second); stu[i].flag=1;/*该生标记为上机*/ com[k].stut=stu[i];/*记录使用这台机器的学生信息*/ break; } } if(k==30) printf("\t\t机器全部使用中,请稍后再上机!\n"); }}voidcalculate(Studentstu)/*上机时间及费用计算*/{intt; structtimetimet; if(<) {if(==0) {-=1; =59; } else -=1; =stu.jiesu.second+60-stu.kaishi.second; }else =; if(<) {-=1; =stu.jiesu.minute+60-stu.kaishi.minute; } else =; =; if(==0&&==0) t=; else t=timet.hour+1;/*不满一小时按一小时算*/ printf("\t\t该生上机用时%d小时,费用为%d元\n",t,t);}voidxiaji(Studentstu[],intn)/*下机*/{charnum_t[20],name_t[20]; inti,s; do {printf("\n\t\t使用姓名输入1\n\t\t使用学号输入2\n\t\t请输入序号:"); scanf("%d",&s); }while(s!=1&&s!=2); getchar(); if(s==1) {printf("\t\t请输入姓名:"); gets(name_t); for(i=0;i<n;i++) {if(strcmp(stu[i].name,name_t)==0) break; } } else {printf("\t\t请输入学号:"); gets(num_t); for(i=0;i<n;i++) {if(strcmp(stu[i].num,num_t)==0) break; } } if(i==n) {printf("\t\t没有这个学生!\n"); return; } elseif(stu[i].flag==0) {printf("\t\t该生未上机或已下机!\n"); return; } else {printf("\t\t请输入下机时间(当前时间):");scanf("%d:%d:%d",&stu[i].jiesu.hour,&stu[i].jiesu.minute,&stu[i].jiesu.second); calculate(stu[i]);/*计算并输出上机费用*/ stu[i].flag=0;/*该生标记为未上机*/ for(k=0;k<3;k++)/*将刚下机同学使用的机器标记为未使用*/ {if(strcmp(com[k].stut.num,stu[i].num)==0) {com[k].f=0;/*该机器标记为未使用*/ break; } } }}voidchaxun(Studentstu[],intn)/*上机时间查询*/{charnum_t[20],name_t[20]; inti,s; do {printf("\n\t\t使用姓名输入1\n\t\t使用学号输入2\n\t\t请输入序号:"); scanf("%d",&s); }while(s!=1&&s!=2); getchar(); if(s==1) {printf("\t\t请输入姓名:"); gets(name_t); for(i=0;i<n;i++) {if(strcmp(stu[i].name,name_t)==0) break;} } else {printf("\t\t请输入学号:"); gets(num_t); for(i=0;i<n;i++) {if(strcmp(stu[i].num,num_t)==0) break; } } if(i==n) {printf("\t\t记录无此学生!\n"); return; } elseif(stu[i].flag==1) {printf("\t\t该生正在上机,上机起始时间为:%d:%d:%d\n",stu[i].kaishi.hour,stu[i].kaishi.minute,stu[i].kaishi.second); }else printf("\t\t该生未上机或下机!\n");}voidqingkuang()/*全部机器使用情况显示*/{ printf("\t机器号是否使用使用者学号班级上机时间\n"); printf("\t\n"); for(k=0;k<30;k++) {if(com[k].f==0) printf("\t%02d 否 -- -- -- --:--:--\n",k+1); else printf("\t%02d 是 %-10s %-10s %2s %02d:%02d:%02d\n",k+1,com[k].,com[k].stut.num,com[k].stut.banji,com[k].stut.kaishi.hour,com[k].stut.kaishi.minute,com[k].stut.kaishi.second); } printf("\t"); system("pause");/*屏幕显示内容停留一段时间,直到继续操作为止*/}intmain()/*主函数*/{intn=0; for(k=0;k<30;k++)/*全部机器标记为未使用*/ com[k].f=0; for(;;) {switch(main_menu()) {case1: system("cls"); printf("********************输入学生信息***********************\n"); n=input(stu,n); break; case2: system("cls"); printf("**********************学生上机*************************\n"); shangji(stu,n); printf("\t\t"); system("pause"); break; case3: system("cls"); printf("**********************学生下机*************************\n"); xiaji(stu,n); printf("\t\t"); system("pause"); break; case4: system("cls"); printf("*******************查询上机时间及费用*******************"); chaxun(stu,n); printf("\t\t"); system("pause"); break; case5: system("cls"); printf("********************电脑使用情况显示********************\n"); qingkuang(); break; case0: system("cls"); printf("********************感谢使用机房收费管理系统,欢迎下次使用!********************"); printf("\t\t"); system("pause"); exit(0); } } return0;}[算法描述][程序调试情况]1.在调试过程中发现自己犯了很多细节性的错误,比如标点符号的错误,然后一个一个发现,修正,过程很冗杂,都要怪自己在编写的时候不细心,挺后悔的,以后在做一件事的时候就要认真,以避免不必要的麻烦。2.此外,若只是最后对学生的信息进行系统的上机时间和下机时间的输入

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论