ImageVerifierCode 换一换
格式:DOC , 页数:51 ,大小:113.04KB ,
资源ID:3635759      下载积分:14 金币
验证码下载
登录下载
邮箱/手机:
图形码:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/3635759.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请


权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4009-655-100;投诉/维权电话:18658249818。

注意事项

本文(C++机房计费管理系统.doc)为本站上传会员【天****】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

C++机房计费管理系统.doc

1、目录 一、需求分析 2 二、概要设计 2 三、具体设计 4 四、调试分析 17 五、用户手册 17 六、测试数据 18 七、附录 20 一、需求分析 1. 输入功能:输入30名学生的学号、班级、姓名、上机起始时间。 2. 计算功能:计算每个下机学生的上机费用,每小时1元。(上机费用=上机时间* 1.0/h ,局限性一小时按一小时计算) 3. 查询功能:按条件(班级、学号、姓名)显示学生的上机时间。 4. 机器使用情况的显示(显示方式不限但要一目了然) 5. 规定: 1) 源文献采用多文献的工程结构; 2) 数据存储采用文献形式; 3) 采用面向对象方法设计;

2、4) 功能完善,适当的注释; 5) 关于文献的内容需要自学; 二、概要设计 1. 学生类的定义: Student(学生类) int tag; //删除标记 char name[20]; 学生姓名 int cla; 班级 int stunum; 学号 int comnum; 上机号 time_t stime; 开始上机时间 time_t otime; 下机时间 double htime; 上机总时间 int money; 上机费用 Student(); 构造函数 Void upcom(char Name[20],int Cla,int Stu

3、num,int Comnum); 上机操作 int downcom(); 下机操作 void delstu(); 删除操作 void setotime(); 设立下机时间 time_t gettime(); 获取当前时间 char* getname(); 获取姓名 int getcla(); 获取班级号 int gettag(); 获取标记 int getstunum(); 获取学号 int getcomnum(); 获取上机号 double countht(); 计算上机时间 int countm(); 计算上机费用 void disp(); 显示 void

4、disp2(); 显示2 2. 学生库类定义: StuData(学生库类) int top;学生记录指针 Student student[MAXS]; 学生记录 StuData(); 构造函数 Student* searchnum(int Stunum);按学号搜索学生 Student* searchcla(int Cla);按班级搜索学生 void dispbycla(int Cla);按班级显示学生 Student*searchname(char *Name);按姓名显示学生 void dispall();显示所有学生信息 void upcom(c

5、har Name[20],int Cla,int Stunum,int Comnum);上机操作 void downcom(int Stunum);下机操作 int search(); 搜索操作 ~StuData(); 析构函数 3. 电脑类的定义: Computer(电脑类) int tag;删除标记 int comnum; 电脑号 Computer();构造函数 void setcomnum(int Comnum);设立电脑号 int getcomnum();获取电脑号 void upcom();上机操作 void downcom();下机操作 i

6、nt gettag();获取标记 4. 电脑库类的定义: ComData(电脑库类) Computer computer[30];记录电脑 ComData();构造函数 Computer* searchcom();搜索空闲电脑 Computer* searchnum(int Comnum);按电脑号搜索 int upcom();上机操作 void disp();显示 ~ComData();析构函数 三、具体设计 1. 学生类成员函数的定义: Student::Student() //构造函数 {} void Stu

7、dent::upcom(char Name[20],int Cla,int Stunum,int Comnum) //上机 { strcpy(name,Name); tag=1; cla=Cla; stunum=Stunum; comnum=Comnum; stime=gettime(); } int Student::downcom() //下机 { //otime=gettime(); setotime(); delstu(); disp(); return comnum; } void St

8、udent::delstu() //更改上机标记 { tag=0; } void Student::setotime() //获取下机时间 { otime=gettime(); } time_t Student::gettime() //获取当前时间 { return time(NULL); } char* Student::getname() //获取姓名 { return name; } int Student::getcla() //获取班级 { return cla; } int Stu

9、dent::gettag() //获取上机标记 { return tag; } int Student::getstunum() //获取学号 { return stunum; } int Student::getcomnum() //获取上机号 { return comnum; } double Student::countht() //计算总上机时间 { return difftime(otime,stime); } int Student::countm() //计算上机费用 { if(((

10、int)countht())%3600==0) return ((int)countht())/3600; return ((int)countht()/3600)+1; } void Student::disp() //显示 { cout<<"姓名:"<

11、<"小时"<<" "<<"上机费用:"<

12、"<

13、 } fin.close(); } Student* StuData::searchnum(int Stunum) //按学号搜索 { for(int i=0;i<=top;i++) if(student[i].getstunum()==Stunum&&student[i].gettag()==1) {return &student[i];} return NULL; } Student* StuData::searchcla(int Cla) //按班级搜索 { for(int i=0;i<=top;i++)

14、 if(student[i].getcla()==Cla&&student[i].gettag()==1) {return &student[i];} return NULL; } void StuData::dispbycla(int Cla) //按班级显示 { for(int j=0;j<=top;j++) if(student[j].getcla()==Cla&&student[j].gettag()==1) { student[j].disp(); cout<

15、 StuData::searchname(char *Name) //按姓名搜索 { for(int i=0;i<=top;i++) if(!strcmp(student[i].getname(),Name)&&student[i].gettag()==1) {return &student[i];} return NULL; } void StuData::dispall() //显示所有学生 { for(int i=0;i<=top;i++) if(student[i].gettag()==1) { stu

16、dent[i].setotime(); student[i].disp(); cout<

17、p->downcom(); } int StuData::search() //机房学生查询 { char choice; char name[20]; int stunum; int cla; Student *s; while(choice!='0') { cout<

18、"<>choice; switch(choice) { case '1': system("cls"); cout<<"请输入学生姓名:"<>name; s=searchname(name); if(s==NULL

19、) { cout<<"机房没有此人"<disp(); break; case '2': system("cls"); cout<<"请输入学生学号:"<>stunum; s=searchnum(stunum); if(s==NULL) { cout<<"机房没有此人"<disp(); break; case

20、 '3': system("cls"); cout<<"请输入班级号:"<>cla; s=searchcla(cla); if(s==NULL) { cout<<"机房没有该班级的人!"<

21、 dispall(); break; case '0': return 0; default: cout<<"输入有误,请重新输入:"<

22、 if(student[i].gettag()==1) fout.write((char*)&student[i],sizeof(student[i])); fout.close(); } 3. 电脑类成员函数定义: Computer::Computer() //构造函数 { tag=0; } void Computer::setcomnum(int Comnum) //设立电脑号 { comnum=Comnum; } int Computer::getcomnum() //获取电脑号 {

23、 return comnum; } void Computer::upcom() //上机 { tag=1; } void Computer::downcom() //下机 { tag=0; } int Computer::gettag() //获取上机标记 { return tag; } 4. 电脑库类成员函数定义: ComData::ComData() //构造函数 { Computer c; ifstream fin("computer.txt"); for(int j=0;j

24、XC;j++) { fin.read((char*)&c,sizeof(c)); computer[j]=c; } fin.close(); for(int i=0;i

25、LL; } Computer* ComData::searchnum(int Comnum) //按电脑号搜索电脑 { for(int i=0;i

26、turn 0; } p->upcom(); return p->getcomnum(); } void ComData::disp() //显示 { cout<

27、 } } ComData::~ComData() //析构函数 { ofstream fout("computer.txt"); for(int i=0;i

28、容不合法时没有任何提醒,导致某些功能出现故障;调试时对输入内容的合法性做出的判断,并给出了相映的提醒信息。 3. 体会:C++语言课程设计和现代计算机技术的实际应用相结合,是我们在本阶段学完理论课程之后对自己该方面的能力的一次很好的检查。从开始的算法思绪到运营调试后的美观的图形界面以及另人兴奋的可用程序,都是一个很好的学习和锻炼的过程。使我们巩固了原有的理论知识,培养了我们灵活运用和组合集成所学过知识及技能来分析、解决实际问题的能力。使我们体会到自身知识和能力能在实际中的应用和发挥。这不仅激发了我的创新意识,还开发了我的发明能力、培养了我的沟通能力。老师对我们进行了细心、耐心的指导,鼓励我们

29、对程序进行合理改善,培养了我们的创新意识和创新能力。本来是我认为可怕的课程设计,就在种种辅助条件下完毕了,心里有说不出的快乐。这是一个发现问题和解决问题的过程,从困惑到明朗,从苦恼道兴奋。我一步步地走过来,发现编程真是一个奇妙刺激的路程。特别是当我把一个自己认为毫无也许的事情完毕自后,那种感觉简直不能用言语来表达。感谢这次课程设计给我带来的全新体验和丰富经验。我会把它换成我以后奋斗的源泉。 五、用户手册 ⒈ 本程序的运营环境为DOS操作系统,执行文献为:机房管理系统.exe; ⒉ 进入演示程序后,即显示对话形式的提醒操作过程, ⒊选择上机项后,输入上机学生的基本信息; ⒋选择下级项后

30、输入要下机学生的学号即可,系统自动给出上机总时间和费用; ⒌选择学生信息查询项后,可按各种信息搜索,选择相应选项即可; ⒍ 选择电脑使用情况项后,系统便会显示所有电脑的被使用情况。 六、测试数据 主界面: 上机操作: 下机操作: 查询界面: 按姓名查询: 按学号查询: 按班级查询: 电脑呗使用情况: 七、附录 // ----------------------------------------------- “Student.h”---------------

31、 #ifndef Student_H_H #define Student_H_H typedef long time_t; class Student{ public: Student(); //构造函数 void upcom(char Name[20],int Cla,int Stunum,int Comnum); //上机 int downcom(); //下机 void delstu(); //更改上机标记 void setotime(); //获取下机时间 time_t ge

32、ttime(); //获取当前时间 char* getname(); //获取姓名 int getcla(); //获取班级 int gettag(); //获取上机标记 int getstunum(); //获取学号 int getcomnum(); //获取上机号 double countht(); //计算总上机时间 int countm(); //计算上机费用 void disp(); //显示 void disp2(); //显示 private: int tag; char name[20]; int cl

33、a; int stunum; int comnum; time_t stime; time_t otime; double htime; int inthtime; int money; }; #endif // --------------------------------------------“StuData.h”---------------------------------------------------- #ifndef StuData_H_H #define StuData_H_H #include"Studen

34、t.h" const int MAXS=30; class StuData{ public: StuData(); //构造函数 Student* searchnum(int Stunum); //按学号搜索 Student* searchcla(int Cla); //按班级搜索 void dispbycla(int Cla); //按班级显示 Student* searchname(char *Name); //按姓名搜索 void dispall(); //显示所有学生 void upcom(char Nam

35、e[20],int Cla,int Stunum,int Comnum); //上机 void downcom(int Stunum); //下机 int search(); //机房学生查询 ~StuData(); //析构函数 private: int top; Student student[MAXS]; }; #endif // --------------------------------------“Computer.h”--------------------------------------------------

36、 #ifndef Computer_H_H #define Computer_H_H class Computer{ public: Computer(); //构造函数 void setcomnum(int Comnum); //设立电脑号 int getcomnum(); //获取电脑号 void upcom(); //上机 void downcom(); //下机 int gettag(); //获取上机标记 private: int tag; int comnum; }; #endif //----

37、ComData.h”------------------------------------------------------- #ifndef ComData_H_H #define ComData_H_H #include"Computer.h" const int MAXC=30; class ComData{ public: ComData(); //构造函数 Computer* searchcom(); //搜索空闲电脑 Computer* searchn

38、um(int Comnum); //按电脑号搜索电脑 int upcom(); //上机 void disp(); //显示 ~ComData(); //析构函数 private: Computer computer[30]; }; #endif //-----------------------------------------“Student.cpp”-------------------------------------------------------- #include "Student.h" #include

39、h> #include #include #include Student::Student() //构造函数 {} void Student::upcom(char Name[20],int Cla,int Stunum,int Comnum) //上机 { strcpy(name,Name); tag=1; cla=Cla; stunum=Stunum; comnum=Comnum; stime=gettime(); } int Student::d

40、owncom() //下机 { //otime=gettime(); setotime(); delstu(); disp(); return comnum; } void Student::delstu() //更改上机标记 { tag=0; } void Student::setotime() //获取下机时间 { otime=gettime(); } time_t Student::gettime() //获取当前时间 { return time(NULL); } c

41、har* Student::getname() //获取姓名 { return name; } int Student::getcla() //获取班级 { return cla; } int Student::gettag() //获取上机标记 { return tag; } int Student::getstunum() //获取学号 { return stunum; } int Student::getcomnum() //获取上机号 { return comnum; }

42、 double Student::countht() //计算总上机时间 { return difftime(otime,stime); } int Student::countm() //计算上机费用 { if(((int)countht())%3600==0) return ((int)countht())/3600; return ((int)countht()/3600)+1; } void Student::disp() //显示 { cout<<"姓名:"<

43、la<<" "<<"学号:"<

44、<

45、 #include #include"StuData.h" #include"Student.h" #include #include #include #include StuData::StuData() //构造函数 { Student s; top=-1; ifstream fin("student.txt"); while(1) { fin.read((char *)&s,size

46、of(s)); if(!fin) break; top++; student[top]=s; } fin.close(); } Student* StuData::searchnum(int Stunum) //按学号搜索 { for(int i=0;i<=top;i++) if(student[i].getstunum()==Stunum&&student[i].gettag()==1) { return &student[i]; } return NULL; } St

47、udent* StuData::searchcla(int Cla) //按班级搜索 { for(int i=0;i<=top;i++) if(student[i].getcla()==Cla&&student[i].gettag()==1) { return &student[i]; } return NULL; } void StuData::dispbycla(int Cla) //按班级显示 { for(int j=0;j<=top;j++) if(student[j].getcla()==Cla&&s

48、tudent[j].gettag()==1) { student[j].disp(); cout<

49、uData::dispall() //显示所有学生 { for(int i=0;i<=top;i++) if(student[i].gettag()==1) { student[i].setotime(); student[i].disp(); cout<

50、um,Comnum); } void StuData::downcom(int Stunum) //下机 { Student *p; p=searchnum(Stunum); p->downcom(); } int StuData::search() //机房学生查询 { char choice; char name[20]; int stunum; int cla; Student *s; while(choice!='0') { cout<

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

关于我们      便捷服务       自信AI       AI导航        抽奖活动

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

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

gongan.png浙公网安备33021202000488号   

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

关注我们 :微信公众号    抖音    微博    LOFTER 

客服