您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > 机房收费管理系统C程序设计报告
C++程序设计设计报告题目:机房收费管理系统一、实验题目机房收费管理系统二、实验环境VisualC++6.0三、设计思想包括:函数分解过程、算法描述以及相应的数据流程图一、函数分解过程1、输入功能structlbtime{intlbhour;intlbminute;intlbsecond;};typedefstruct{charlbnum[20];intlbbanji;intlbflag;charlbname[20];structlbtimelbstart,lbfinish;}lbStudent;lbStudentlbstu[50];structlbcomputer{intlbf;lbStudentlbstut;}lbcom[30];intlbk;intlbmain_menu(){charlbc;do{system(cls);cout\t\t\t****机房收费管理系统****\n\t\t\t1.输入学生信息\n\t\t\t2.上机\n\t\t\t3.下机\n\t\t\t4.查询上机时间\n\t\t\t5.机器使用情况显示\n\t\t\t0.退出系统\n\t\t\t************************\n\t\t\t请选择菜单(0-5):;lbc=getchar();}while(lbc'0'||lbc'5');return(lbc-'0');}intlbinput(lbStudentlbstu[],intlbn){intlbi=0;charlbsign='0';while(lbsign!='lbn'&&lbsign!='lbN'){getchar();cout\t\t学号:;gets(lbstu[lbn+qhi].lbnum);cout\t\t班级:;cinlbstu[lbn+lbi].lbbanji;getchar();cout\t\t姓名:;gets(lbstu[lbn+lbi].lbname);cout\t\t继续输入?是请按Y,否请按N:;cinlbsign;lbstu[lbn+qhi].lbflag=0;lbi++;}return(lbn+lbi);}voidlbonline(lbStudentlbstu[],intlbn){charlbnum_t[20],lbname_t[20];intlbi,lbs;do{cout\t\t使用姓名按1,使用学号按2:;cinlbs;}while(lbs!=1&&lbs!=2);getchar();if(lbs==1){cout\t\t请输入姓名:;gets(lbname_t);for(lbi=0;lbilbn;lbi++)if(strcmp(lbstu[lbi].lbname,lbname_t)==0)break;}else{cout\t\t请输入学号:;gets(lbnum_t);for(lbi=0;lbilbn;lbi++){if(strcmp(lbstu[lbi].lbnum,lbnum_t)==0)break;}}if(lbi==lbn){cout\t\t信息库中暂无该生,请输入该生信息再上机!\n;return;}elseif(lbstu[lbi].lbflag==1){cout\t\t该生正在上机!\n;return;}else{for(lbk=0;lbk30;lbk++)if(lbcom[lbk].lbf==0){lbcom[lbk].lbf=1;cout\t\t请输入上机时间(当前时间):;cinlbstu[lbi].lbstart.lbhourlbstu[lbi].lbstart.lbminutelbstu[lbi].lbstart.lbsecond;lbstu[lbi].lbflag=1;lbcom[lbk].lbstut=lbstu[lbi];break;}if(lbk==30)cout\t\t机器全部使用中,请稍后再上机!\n;}}2、计算功能voidlbcalculate(lbStudentlbstu){intlbt;structlbtimelbtimet;if(lbstu.lbfinish.lbsecondlbstu.lbstart.lbsecond){if(lbstu.lbfinish.lbminute==0){lbstu.lbfinish.lbhour-=1;lbstu.lbfinish.lbminute=59;}elselbstu.lbfinish.lbminute-=1;lbtimet.lbsecond=lbstu.lbfinish.lbsecond+60-lbstu.lbstart.lbsecond;}elselbtimet.lbsecond=lbstu.lbfinish.lbsecond-lbstu.lbstart.lbsecond;if(lbstu.lbfinish.lbminutelbstu.lbstart.lbminute){lbstu.lbfinish.lbhour-=1;lbtimet.lbminute=lbstu.lbfinish.lbminute+60-lbstu.lbstart.lbminute;}elselbtimet.lbminute=lbstu.lbfinish.lbminute-lbstu.lbstart.lbminute;lbtimet.lbhour=lbstu.lbfinish.lbhour-lbstu.lbstart.lbhour;if(lbtimet.lbsecond==0&&lbtimet.lbminute==0)lbt=lbtimet.lbhour;elselbt=lbtimet.lbhour+1;cout\t\t该生上机用时%d小时,费用为%d元\n,lbt,lbt;}3、查询功能voidlboffline(lbStudentlbstu[],intlbn){charlbnum_t[20],lbname_t[20];intlbi,lbs;do{cout\t\t使用姓名按1,使用学号按2:;cinlbs;}while(lbs!=1&&lbs!=2);getchar();if(lbs==1){cout\t\t请输入姓名:;gets(lbname_t);for(lbi=0;qhilbn;lbi++){if(strcmp(lbstu[lbi].lbname,lbname_t)==0)break;}}else{cout\t\t请输入学号:;gets(lbnum_t);for(lbi=0;lbilbn;lbi++){if(strcmp(lbstu[lbi].lbnum,lbnum_t)==0)break;}}if(lbi==lbn){cout\t\t没有这个学生!\n;return;}elseif(lbstu[lbi].lbflag==0){cout\t\t该生未上机或已下机!\n;return;}else{cout\t\t请输入下机时间(当前时间):;cinlbstu[lbi].lbfinish.lbhourlbstu[lbi].lbfinish.lbminutelbstu[lbi].lbfinish.lbsecond;lbcalculate(lbstu[qhi]);lbstu[lbi].lbflag=0;for(lbk=0;lbk3;lbk++)if(strcmp(lbcom[lbk].lbstut.lbnum,lbstu[lbi].bnum)==0){lbcom[lbk].lbf=0;break;}}}voidlbsearch(lbStudentlbstu[],intlbn){charlbnum_t[20],lbname_t[20];intlbi,lbs;do{cout\t\t使用姓名按1,使用学号按2:;cinlbs;}while(lbs!=1&&qhs!=2);getchar();if(lbs==1){cout\t\t请输入姓名:;gets(lbname_t);for(lbi=0;qhilbn;lbi++){if(strcmp(lbstu[lbi].lbname,lbname_t)==0)break;}}else{cout\t\t请输入学号:;gets(lbnum_t);for(lbi=0;qhilbn;bi++){if(strcmp(lbstu[lbi].lbnum,lbnum_t)==0)break;}}if(lbi==lbn){cout\t\t查无此生!\n;return;}elseif(lbstu[lbi].lbflag==1)cout\t\t该生正在上机,上机起始时间为%d:%d:%d\n,lbstu[lbi].lbstart.lbhour,lbstu[lbi].lbstart.lbminute,lbstu[lbi].lbstart.lbsecond;elsecout\t\t该生未上机或已下机!\n;}4、机器使用情况的显示voiddisplay(){cout\t机器号是否使用使用者学号班级上机时间\n;cout\t----------------------------------------------------------\n;for(lbk=0;lbk30;lbk++){if(lbcom[lbk].lbf==0)cout\t%02d否-----:--:--\n,qhk+1;elsecoutyesendl;lbcom[lbk].lbstut.lbname,lbcom[lbk].lbstut.lbnum,lbcom[lbk].lbstut.lbbanji,lbcom[lbk].lbstut.lbstart.lbhour,lbcom[lbk].lbstut.lbstart.lbminute,lbcom[lbk].lbstut.lbstart.lbsecond;}cout\t;system(pause);}1总体结构图2主函数程序流程图3子函数程序流程图1输入学生信息2学生上机3学生下机4上机时间查询5机器使用情况四、源程序清单包括调试过程(碰到的错误、如何错误排除)#includestdafx.h#includeiostream#includestdio.h#includestdlib.h#includectype.h#includestring.husingnamespacestd;structqhtime{intqhhour;intlbminute;intlbsecond;};typedefstruct{charlbnum[20];intlbbanji;intlbflag;charlbname[20];structlbtimelbstart,lbfinish;}lbStudent;lbStudentlbstu[50];structlbcomputer{intlbf;lbStudentlbstut;}lbcom[30];intlbk;intlbmain_menu(){charqhc;do{system(cls);cout\t\t\t****机房收费管理系统****\n\t\t\t1.输入学生信息\n\t\t\t2.上机\n\t\t\t3.下机\n\t\t\t4.查询上机时间\n\t\t\t5.机器使用情况显示\n\t\t\t0.退出系统\n\t\t\t************************\n\t\t\t请选择菜单(0-5):;lbc=getchar();}while(lbc'0'||qhc'5');return(lbc-'0');}intlbinput(lbStudentlbstu[],intlbn){intlbi=0;charlbsign='0';while(lbs
本文标题:机房收费管理系统C程序设计报告
链接地址:https://www.777doc.com/doc-3508119 .html