您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据库 > C++课程设计网吧管理系统
C++课程设计报告(设计题目:网吧管理系统的设计)姓名:专业:班级:指导老师:2010年9月目录1课程设计目的……………………………………………………2项目要求与简介…………………………………………………3系统实现…………………………………………………………3.1系统功能结构与模块划分………………………………….3.2数据流图…………………………………………………….3.3系统采用的关键(难点)技术…………………………….3.4源程序清单………………………………………………….4测试运行的结果………………………………………………….5心得体会与进一步的改进………………………………………6参考书目…………………………………………………………1课程设计目的目标是使学生了解可视化程序设计语言的基础知识,掌握面向对象编程的分析设计方法,以及与面向对象技术相关的一些软件开发技术,掌握在VisualC++6环境下进行可视化程序设计技术。通过实践具体的项目,为他们进一步开展相关领域的学习和科研打下良好的基础。2项目要求与简介1、二进制、八进制、十进制及十六进制数的加、减、乘、除、乘方、取模等简单计算2、科学计算函数,包括(反)正弦、(反)余弦、(反)正切、(反)余切、开方、指数等函数运行4、具备历史计算的记忆功能5、对不正确的表达式能指出其错误原因6、整理上机步骤、完成实验报告、提交可运行的程序,给出实验数据和实验结果。3系统实现3.1系统功能结构与模块划分网吧管理系统Main()输入用户信息结束查询删除充值显示所有用户返回直充通过合并其他用户充值1使用时间函数进行时间记录;structtm*ptr;time_tm[100];2建立用户类;classYong{public:Yong(stringa=0,stringb=0,intc=1){aa=a;bb=b;cc=(float)c;}stringxianshiming(){returnaa;}voidxianshiyong(){cout姓名aasetw(10)身份证号bbsetw(10)余额/原有ccendl;}Yongoperator+(constYong&c2)const;floatcc;private:stringaa,bb;};3使用goto函数对函数进行整体调控;switch(d){case0:chaxun(p,i);gotoxinxin;break;case1:chongqian(p,i);gotoxinxin;break;case2:shanchu(p,i,n);gotohuahua;break;case3:c=1;gotohuahua;break;case4:i=i-1;for(t=0;t=i;t++)p[t].xianshiyong();i=i+1;gotohuahua;break;case5:return0;}4整体建立输入查询删除充值函数进行网吧管理;3.2数据流图(系统的数据流程图,并进行说明)输出结果,并做记录,等待下次输入显示出错情况,等待用户修改求值判断表达式是否有错输入表达式出现错误,中断扫描以一个编缉框接受用户输入的表达式,输入须用软件提供的软键盘。从输入到计算的过程由一个按键触发,如“=”。出错处理只分析表达式出错。历史记录中保存运算的表达式和其结果。3.3系统采用的关键(难点)技术(1)使用时间函数对各个用户的余额进行实时监控;(2)通过使用重载函数进行用户合并;3.4源程序清单(列出源代码,注意格式要规范。代码中有适当的注释)#includeiomanip#includeiostream#includectime#includestringusingnamespacestd;structtm*ptr;time_tm[100];classYong{public:Yong(stringa=0,stringb=0,intc=1){aa=a;bb=b;cc=(float)c;}stringxianshiming(){returnaa;}voidxianshiyong(){cout姓名aasetw(10)身份证号bbsetw(10)余额/原有ccendl;}Yongoperator+(constYong&c2)const;floatcc;private:stringaa,bb;};YongYong::operator+(constYong&c2)const{returnYong(aa,bb,cc+c2.cc);}voidchaxun(Yongp[100],int&i){++i;stringa;intj,c;floatd;cout进入查询系统,请输入用户姓名endl;cina;for(j=0;j=i;j++)if(a==p[j].xianshiming()){p[j].xianshiyong();break;}m[i]=time(0);c=m[i]-m[j];d=(float)200/3600*c;cout余额p[j].cc-dendl;--i;}voidshanchu(Yongp[100],int&i,int&n){stringa;intj,k;floatd,f;longc;if(n==0){cout进入删除会员程序,请输入用户姓名endl;cina;for(j=0;j=i;j++)if(a==p[j].xianshiming()){p[j].xianshiyong();m[i]=time(0);c=m[i]-m[j];d=(float)200/3600*c;f=p[j].cc-d;cout找零fsetw(10)谢谢endl;for(k=j;k=i-1;k++){p[k]=p[k+1];}}}elsefor(k=n;k=i-1;k++){p[k]=p[k+1];}--i;}voidchongqian(Yongp[100],int&i){++i;stringa,b;intj,n,dd;floatd;longc;cout进入充钱系统,请输入用户姓名endl;cina;cout请输入充值金额/若为0则合并其他用户;cindd;for(j=0;j=i;j++)if(a==p[j].xianshiming()){p[j].xianshiyong();break;}if(dd!=0){m[i]=time(0);c=m[i]-m[j];d=(float)200/3600*c;p[j].cc=p[j].cc+dd-d;p[j].xianshiyong();--i;dd=1;}else{cinb;for(n=0;n=i;n++)if(b==p[n].xianshiming()){m[i]=time(0);c=m[i]-m[n];d=(float)200/3600*c;p[n].cc=p[n].cc-d;p[j]=p[j]+p[n];if(jn)shanchu(p,i,n);elseif(jn){p[n]=p[j];n=j;shanchu(p,i,n);}}m[i]=time(0);c=m[i]-m[j];d=(float)200/3600*c;p[j].cc=p[j].cc-d;cout删除成功哈哈endl;p[j].xianshiyong();--i;}}intmain(){stringa,b;Yongp[100];intc=1,i=0,d,n=0,t;xinxin:huahua:cout输入000时进入其他程序endl;while(c!=0){cinabc;if(c=0)cout进入其他系统/钱不够无法建立用户,谢谢合作endl;m[i]=time(0);p[i]=Yong(a,b,c);if(c!=0)++i;}cout输入0进入查询系统endl;cout输入1进入充值系统endl;cout输入2进入结账系统endl;cout输入3进入返回endl;cout输入4显示所有用户信息endl;cout输入数字大于等于5结束endl;cind;switch(d){case0:chaxun(p,i);gotoxinxin;break;case1:chongqian(p,i);gotoxinxin;break;case2:shanchu(p,i,n);gotohuahua;break;case3:c=1;gotohuahua;break;case4:i=i-1;for(t=0;t=i;t++)p[t].xianshiyong();i=i+1;gotohuahua;break;case5:return0;}return0;}4测试运行的结果(测试过程中遇到的问题及解决方法,另外列出运行的结果,可用图示的方式)开启计算器如图:显示默认开启十进制,A,B,C,D,E,F按键不可用。选择进制或制度,计算器相应开启相关按键。由于使用UpdateData(0);,所以输入框不允许键盘输入,相对应于出错处理函数的判断比较简单。测试完毕,结果正确5心得体会与进一步的改进(自己通过该课程设计的收获,存在的问题与新的看法)通过此次VC++可视化界面编程课程设计,我了解了VisualC++6的安装和基本使用方法,初步掌握了运用MFC添加控件以及映射控件消息等编程方法。计算器的设计基本实现了老师所要求的功能,同时还增添了各个进制的运算的新功能。同时在设计过程中,对于计算器的功能还有许多不完善的地方,例如为了是出错处理能够更准确地分析,只允许计算器按键输入,不允许键盘输入,因此还需要更多的设计来完善对于表达式的处理;设计一开始是以C语言为基础的,所以没有用到多少C++中类的知识,这些需要在以后的学习中加以运用和实践;界面风格只是使用默认的,没有创新,这个需要在以后的设计中加以改进。相比之前C语言和数据结构的课程设计,此次可视化界面的课程设计让自己在编程上的理解更深一层,逐步了解编程在实际中的运用,掌握了更多编程方法和思想,拓宽了知识面,为进一步的学习继续打牢根基。6参考书目与网站(参考的资料与出处,包括网站地址)《C++程序设计》作者:谭浩强清华大学出版社《VisualC++6.0开发指南》人民邮电出版社《VisualC++程序设计技巧与实例》作者:许福舒志张威等出版社:中国铁道出版社://=5
本文标题:C++课程设计网吧管理系统
链接地址:https://www.777doc.com/doc-5889054 .html