C++课程设计网吧管理系统.docx

上传人:b****7 文档编号:25926792 上传时间:2023-06-16 格式:DOCX 页数:14 大小:315.16KB
下载 相关 举报
C++课程设计网吧管理系统.docx_第1页
第1页 / 共14页
C++课程设计网吧管理系统.docx_第2页
第2页 / 共14页
C++课程设计网吧管理系统.docx_第3页
第3页 / 共14页
C++课程设计网吧管理系统.docx_第4页
第4页 / 共14页
C++课程设计网吧管理系统.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

C++课程设计网吧管理系统.docx

《C++课程设计网吧管理系统.docx》由会员分享,可在线阅读,更多相关《C++课程设计网吧管理系统.docx(14页珍藏版)》请在冰豆网上搜索。

C++课程设计网吧管理系统.docx

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<<"姓名"<

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源程序清单

(列出源代码,注意格式要规范。

代码中有适当的注释)

#include

#include

#include

#include

usingnamespacestd;

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<<"姓名"<

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<<"进入查询系统,请输入用户姓名"<

cin>>a;

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<<"余额"<

--i;

}

voidshanchu(Yongp[100],int&i,int&n){

stringa;intj,k;floatd,f;longc;

if(n==0){

cout<<"进入删除会员程序,请输入用户姓名"<

cin>>a;

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<<"找零"<

for(k=j;k<=i-1;k++)

{p[k]=p[k+1];}

}

 

}

else

for(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<<"进入充钱系统,请输入用户姓名"<

cin>>a;

cout<<"请输入充值金额/若为0则合并其他用户";

cin>>dd;

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{cin>>b;

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(j

elseif(j>n){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<<"删除成功哈哈"<

p[j].xianshiyong();

--i;

}

}

 

intmain(){

stringa,b;

Yongp[100];

intc=1,i=0,d,n=0,t;

xinxin:

huahua:

cout<<"输入000时进入其他程序"<

while(c!

=0)

{

cin>>a>>b>>c;

if(c<=0)cout<<"进入其他系统/钱不够无法建立用户,谢谢合作"<

m[i]=time(0);

p[i]=Yong(a,b,c);

if(c!

=0)

++i;

}

cout<<"输入0进入查询系统"<

cout<<"输入1进入充值系统"<

cout<<"输入2进入结账系统"<

cout<<"输入3进入返回"<

cout<<"输入4显示所有用户信息"<

cout<<"输入数字大于等于5结束"<

cin>>d;

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++程序设计技巧与实例》作者:

许福舒志张威等出版社:

中国铁道出版社

http:

//www.china-

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 学科竞赛

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1