本科毕业论文---机房收费管理系统设计.doc
《本科毕业论文---机房收费管理系统设计.doc》由会员分享,可在线阅读,更多相关《本科毕业论文---机房收费管理系统设计.doc(27页珍藏版)》请在咨信网上搜索。
C++程序设计 设计报告 题目:机房收费管理系统 一、实验题目 机房收费管理系统 二、实验环境 Visual C++ 6.0 三、设计思想 包括:函数分解过程、算法描述以及相应的数据流程图 一、 函数分解过程 1、输入功能 struct lbtime { int lbhour; int lbminute; int lbsecond; }; typedef struct { char lbnum[20]; int lbbanji; int lbflag; char lbname[20]; struct lbtime lbstart,lbfinish; } lbStudent; lbStudent lbstu[50]; struct lbcomputer { int lbf; lbStudent lbstut; }lbcom[30]; int lbk; int lbmain_menu() { char lbc; 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'); } int lbinput(lbStudent lbstu[],int lbn) { int lbi=0; char lbsign='0'; while(lbsign!='lbn'&&lbsign!='lbN') { getchar(); cout<<"\t\t 学号:"; gets(lbstu[lbn+qhi].lbnum); cout<<"\t\t 班级:"; cin>>lbstu[lbn+lbi].lbbanji; getchar(); cout<<"\t\t 姓名:"; gets(lbstu[lbn+lbi].lbname); cout<<"\t\t 继续输入?是请按Y,否请按N:"; cin>>lbsign; lbstu[lbn+qhi].lbflag=0; lbi++; } return(lbn+lbi); } void lbonline(lbStudent lbstu[],int lbn) { char lbnum_t[20],lbname_t[20]; int lbi,lbs; do { cout<<"\t\t 使用姓名按1,使用学号按2:"; cin>>lbs; } while(lbs!=1&&lbs!=2); getchar(); if(lbs==1) { cout<<"\t\t 请输入姓名:"; gets(lbname_t); for(lbi=0;lbi<lbn;lbi++) if(strcmp(lbstu[lbi].lbname,lbname_t)==0) break; } else { cout<<"\t\t 请输入学号:"; gets(lbnum_t); for(lbi=0;lbi<lbn;lbi++) { if(strcmp(lbstu[lbi].lbnum,lbnum_t)==0) break; } } if(lbi==lbn) { cout<<"\t\t 信息库中暂无该生,请输入该生信息再上机!\n"; return; } else if(lbstu[lbi].lbflag==1) { cout<<"\t\t 该生正在上机!\n"; return; } else { for(lbk=0;lbk<30;lbk++) if(lbcom[lbk].lbf==0) { lbcom[lbk].lbf=1; cout<<"\t\t 请输入上机时间(当前时间):"; cin>>lbstu[lbi].lbstart.lbhour>>lbstu[lbi].lbstart.lbminute>>lbstu[lbi].lbstart.lbsecond; lbstu[lbi].lbflag=1; lbcom[lbk].lbstut=lbstu[lbi]; break; } if(lbk==30) cout<<"\t\t 机器全部使用中,请稍后再上机!\n"; } } 2、计算功能 void lbcalculate(lbStudent lbstu) { int lbt; struct lbtime lbtimet; if(lbstu.lbfinish.lbsecond<lbstu.lbstart.lbsecond) { if(lbstu.lbfinish.lbminute==0) { lbstu.lbfinish.lbhour-=1; lbstu.lbfinish.lbminute=59; } else lbstu.lbfinish.lbminute-=1; lbtimet.lbsecond=lbstu.lbfinish.lbsecond+60-lbstu.lbstart.lbsecond; } else lbtimet.lbsecond=lbstu.lbfinish.lbsecond-lbstu.lbstart.lbsecond; if(lbstu.lbfinish.lbminute<lbstu.lbstart.lbminute) { lbstu.lbfinish.lbhour-=1; lbtimet.lbminute=lbstu.lbfinish.lbminute+60-lbstu.lbstart.lbminute; } else lbtimet.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; else lbt=lbtimet.lbhour+1; cout<<"\t\t 该生上机用时%d 小时,费用为%d 元\n",lbt,lbt; } 3、查询功能 void lboffline(lbStudent lbstu[],int lbn) { char lbnum_t[20],lbname_t[20]; int lbi,lbs; do { cout<<"\t\t 使用姓名按1,使用学号按2:"; cin>>lbs; }while(lbs!=1&&lbs!=2); getchar(); if(lbs==1) { cout<<"\t\t 请输入姓名:"; gets(lbname_t); for(lbi=0;qhi<lbn;lbi++) { if(strcmp(lbstu[lbi].lbname,lbname_t)==0) break; } } else { cout<<"\t\t 请输入学号:"; gets(lbnum_t); for(lbi=0;lbi<lbn;lbi++) { if(strcmp(lbstu[lbi].lbnum,lbnum_t)==0) break; } } if(lbi==lbn) { cout<<"\t\t 没有这个学生!\n"; return; } else if(lbstu[lbi].lbflag==0) { cout<<"\t\t 该生未上机或已下机!\n"; return; } else { cout<<"\t\t 请输入下机时间(当前时间):"; cin>>lbstu[lbi].lbfinish.lbhour>>lbstu[lbi].lbfinish.lbminute>>lbstu[lbi].lbfinish.lbsecond; lbcalculate(lbstu[qhi]); lbstu[lbi].lbflag=0; for(lbk=0;lbk<3;lbk++) if(strcmp(lbcom[lbk].lbstut.lbnum,lbstu[lbi].bnum)==0) { lbcom[lbk].lbf=0; break; } } } void lbsearch(lbStudent lbstu[],int lbn) { char lbnum_t[20],lbname_t[20]; int lbi,lbs; do { cout<<"\t\t 使用姓名按1,使用学号按2:"; cin>>lbs; }while(lbs!=1&&qhs!=2); getchar(); if(lbs==1) { cout<<"\t\t 请输入姓名:"; gets(lbname_t); for(lbi=0;qhi<lbn;lbi++) { if(strcmp(lbstu[lbi].lbname,lbname_t)==0) break; } } else { cout<<"\t\t 请输入学号:"; gets(lbnum_t); for(lbi=0;qhi<lbn;bi++) { if(strcmp(lbstu[lbi].lbnum,lbnum_t)==0) break; } } if(lbi==lbn) { cout<<"\t\t 查无此生!\n"; return; } else if(lbstu[lbi].lbflag==1) cout<<"\t\t 该生正在上机,上机起始时间为%d:%d:%d\n",lbstu[lbi].lbstart.lbhour,lbstu[lbi].lbstart.lbminute, lbstu[lbi].lbstart.lbsecond; else cout<<"\t\t 该生未上机或已下机!\n"; } 4、机器使用情况的显示 void display() { cout<<"\t 机器号 是否使用 使用者 学号 班级 上机时间\n"; cout<<"\t----------------------------------------------------------\n"; for(lbk=0;lbk<30;lbk++) { if(lbcom[lbk].lbf==0) cout<<"\t%02d 否-----:--:--\n",qhk+1; else cout<<"yes"<<endl; 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机器使用情况 四、源程序清单 包括调试过程(碰到的错误、如何错误排除) #include "stdafx.h" #include<iostream> #include<stdio.h> #include<stdlib.h> #include<ctype.h> #include<string.h> using namespace std; struct qhtime { int qhhour; int lbminute; int lbsecond; }; typedef struct { char lbnum[20]; int lbbanji; int lbflag; char lbname[20]; struct lbtime lbstart,lbfinish; } lbStudent; lbStudent lbstu[50]; struct lbcomputer { int lbf; lbStudent lbstut; }lbcom[30]; int lbk; int lbmain_menu() { char qhc; 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'); } int lbinput(lbStudent lbstu[],int lbn) { int lbi=0; char lbsign='0'; while(lbsign!='lbn'&&lbsign!='lbN') { getchar(); cout<<"\t\t 学号:"; gets(lbstu[lbn+lbi].lbnum); cout<<"\t\t 班级:"; cin>>lbstu[lbn+lbi].lbbanji; getchar(); cout<<"\t\t 姓名:"; gets(lbstu[lbn+lbi].lbname); cout<<"\t\t 继续输入?是请按Y,否请按N:"; cin>>lbsign; lbstu[lbn+lbi].lbflag=0; lbi++; } return(lbn+lbi); } void lbonline(lbStudent lbstu[],int lbn) { char lbnum_t[20],lbname_t[20]; int lbi,lbs; do { cout<<"\t\t 使用姓名按1,使用学号按2:"; cin>>lbs; } while(lbs!=1&&lbs!=2); getchar(); if(lbs==1) { cout<<"\t\t 请输入姓名:"; gets(lbname_t); for(lbi=0;lbi<lbn;lbi++) if(strcmp(lbstu[lbi].lbname,lbname_t)==0) break; } else { cout<<"\t\t 请输入学号:"; gets(lbnum_t); for(lbi=0;lbi<lbn;lbi++) { if(strcmp(lbstu[lbi].lbnum,lbnum_t)==0) break; } } if(lbi==lbn) { cout<<"\t\t 信息库中暂无该生,请输入该生信息再上机!\n"; return; } else if(lbstu[lbi].lbflag==1) { cout<<"\t\t 该生正在上机!\n"; return; } else { for(lbk=0;lbk<30;lbk++) if(lbcom[lbk].lbf==0) { lbcom[lbk].lbf=1; cout<<"\t\t 请输入上机时间(当前时间):"; cin>>lbstu[lbi].lbstart.lbhour>>lbstu[lbi].lbstart.lbminute>>lbstu[lbi].lbstart.lbsecond; lbstu[lbi].lbflag=1; lbcom[lbk].lbstut=lbstu[lbi]; break; } if(lbk==30) cout<<"\t\t 机器全部使用中,请稍后再上机!\n"; } } void lbcalculate(lbStudent lbstu) { int lbt; struct lbtime lbtimet; if(lbstu.lbfinish.lbsecond<lbstu.lbstart.lbsecond) { if(lbstu.lbfinish.lbminute==0) { lbstu.lbfinish.lbhour-=1; lbstu.lbfinish.lbminute=59; } else lbstu.lbfinish.lbminute-=1; lbtimet.lbsecond=lbstu.lbfinish.lbsecond+60-lbstu.lbstart.lbsecond; } else lbtimet.lbsecond=lbstu.lbfinish.lbsecond-lbstu.lbstart.lbsecond; if(lbstu.lbfinish.lbminute<lbstu.lbstart.lbminute) { lbstu.lbfinish.lbhour-=1; lbtimet.lbminute=lbstu.lbfinish.lbminute+60-lbstu.lbstart.lbminute; } else lbtimet.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; else lbt=lbtimet.lbhour+1; cout<<"\t\t 该生上机用时%d 小时,费用为%d 元\n",lbt,lbt; } void lboffline(lbStudent lbstu[],int qhn) { char lbnum_t[20],lbname_t[20]; int lbi,lbs; do { cout<<"\t\t 使用姓名按1,使用学号按2:"; cin>>lbs; }while(lbs!=1&&lbs!=2); getchar(); if(lbs==1) { cout<<"\t\t 请输入姓名:"; gets(lbname_t); for(lbi=0;lbi<lbn;lbi++) { if(strcmp(lbstu[lbi].lbname,lbname_t)==0) break; } } else { cout<<"\t\t 请输入学号:"; gets(lbnum_t); for(lbi=0;lbi<lbn;lbi++) { if(strcmp(lbstu[lbi].lbnum,lbnum_t)==0) break; } } if(lbi==lbn) { cout<<"\t\t 没有这个学生!\n"; return; } else if(lbstu[lbi].lbflag==0) { cout<<"\t\t 该生未上机或已下机!\n"; return; } else { cout<<"\t\t 请输入下机时间(当前时间):"; cin>>lbstu[lbi].lbfinish.lbhour>>lbstu[lbi].lbfinish.lbminute>>lbstu[lbi].lbfinish.lbsecond; lbcalculate(lbstu[lbi]); lbstu[lbi].lbflag=0; for(lbk=0;lbk<3;lbk++) if(strcmp(lbcom[lbk].lbstut.lbnum,lbstu[lbi].lbnum)==0) { lbcom[lbk].lbf=0; break; } } } void lbsearch(lbStudent lbstu[],int lbn) { char lbnum_t[20],lbname_t[20]; int lbi,lbs; do { cout<<"\t\t 使用姓名按1,使用学号按2:"; cin>>lbs; }while(lbs!=1&&lbs!=2); getchar(); if(lbs==1) { cout<<"\t\t 请输入姓名:"; gets(lbname_t); for(lbi=0;lbi<lbn;lbi++) { if(strcmp(lbstu[lbi].lbname,lbname_t)==0) break; } } else { cout<<"\t\t 请输入学号:"; gets(lbnum_t); for(lbi=0;lbi<lbn;lbi++) { if(strcmp(lbstu[lbi].lbnum,lbnum_t)==0) break; } } if(lbi==lbn) { cout<<"\t\t 查无此生!\n"; return; } else if(lbstu[lbi].lbflag==1) cout<<"\t\t 该生正在上机,上机起始时间为%d:%d:%d\n",lbstu[lbi].lbstart.lbhour,lbstu[lbi].lbstart.lbminute, lbstu[lbi].lbstart.lbsecond; else cout<<"\t\t 该生未上机或已下机!\n"; } void display() { cout<<"\t 机器号 是否使用 使用者 学号 班级 上机时间\n"; cout<<"\t----------------------------------------------------------\n"; for(lbk=0;lbk<30;lbk++) { if(lbcom[lbk].lbf==0) cout<<"\t%02d 否-----:--:--\n",lbk+1; else cout<<"yes"<<endl; lbcom[lbk].lbstut.lbname,lbcom[lbk].lbstut.lbnum,lbcom[lbk].lbstut.lbbanji,lbcom[qhk].lbstut.lbstart.lbhour, lbcom[lbk].lbstut.lbstart.lbminute,lbcom[lbk].lbstut.lbstart.lbsecond; } cout<<"\t"; system("pause"); } int main() { int lbn=0; for(lbk=0;lbk<30;lbk++) lbcom[lbk].lbf=0; for(;;) { switch(lbmain_menu()) { case 1: system("cls"); cout<<"\t\t\t 输入学生信息:\n"; lbn=lbinput(lbstu,lbn); break; case 2: system("cls"); cout<<"\t\t\t 学生上机\n"; lbonline(lbstu,lbn); cout<<"\t\t"; system("pause"); break; case 3: system("cls"); cout<<"\t\t\t 学生下机\n"; lboffline(lbstu,lbn); cout<<"\t\t"; system("pause"); break; case 4: system("cls"); cout<<"\t\t\t 上机时间查询\n"; lbsearch(lbstu,lbn); cout<<"\t\t"; system("pause"); break; case 5: system("cls"); cout<<"\t\t\t 机器使用情况显示\n\n"; display(); break; case 0: system("cls"); cout<<"\n\n\t\t 感谢使用机房收费管理系统,欢迎下次使用,再见!\n\n"; cout<<"\t\t"; system("pause"); exit(0); } } return 0; 分析:多将中文输入法中的符号与英文中的混用,造成程序运行不畅。 未添加using namespace std头文件 将pintf改为cout,将scanf改为cin 五、测试的数据以及程序运行的结果 1登陆界面 2输入学生信息 3学生上机 4学生下机 5上机时间查询 6机器使用时间 7退出界面- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 本科毕业 论文 机房 收费 管理 系统 设计
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【胜****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【胜****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【胜****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【胜****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文