电影院售票系统Word下载.docx
《电影院售票系统Word下载.docx》由会员分享,可在线阅读,更多相关《电影院售票系统Word下载.docx(22页珍藏版)》请在冰豆网上搜索。
![电影院售票系统Word下载.docx](https://file1.bdocx.com/fileroot1/2022-12/8/a34aac69-175a-4ae2-ba40-cf67dba7c3f1/a34aac69-175a-4ae2-ba40-cf67dba7c3f11.gif)
退票
Show
显示信息
Tianjia
添加信息
详细设计
录入信息:
按提示输入信息,保存在类中定义的数组a[100]中。
查询信息:
通过调用类中chaxun()函数,选择以何种方式查询,通过输入查询电影的名或时间,查找到所查找的电影,最终输出。
浏览信息:
通过使用for语句,将存储的所有电影信息打印出来。
添加信息:
按提示输入信息,储存在数组中,最终电影的个数len加1。
售票与退票:
先选择需要进行的操作,选择完成时,按要求输入电影信息,如果没有查找到,就输出无信息,查找到函数内的n变量加1,并输出查到信息。
查找到信息之后将查到的电影播放时间与系统时间比较,如果小于系统时间,则已经播放完,无法进行售票或退票。
如果没有播放,则判定是否是会员,如果是会员,则计算输出会员价格,若不是会员,则输出原价。
课程设计总结:
这次课程设计难点是电影播放时间与系统时间的比较,这个问题我通过查阅资料认识到了头文字windows.h中的获取系统时间SYSTEMTIMEsys和GetLocalTime(&
sys),最终解决了问题。
附录:
#include<
iostream>
string.h>
ctime>
windows.h>
usingnamespacestd;
structbase
{
inttime_f;
inttime_s;
inttime_t;
inttime_y;
inttime_n;
intdatetime[5];
charname[20];
intchangci;
floatprice;
floatzhekou;
intzwnumber;
};
classfilm
public:
film()
~film()
voidluru();
voidksluru();
intzhengjia();
voidliulan();
voidchaxun();
voidshoupiao();
voidtuipiao();
voidchaxunname();
voidchaxuntime();
friendvoidshow(inti);
private:
basea[100];
intlen;
}fi;
voidshow(inti)
cout<
<
fi.a[i].time_n<
"
-"
fi.a[i].time_y<
fi.a[i].time_t<
\t"
<
fi.a[i].time_s<
:
fi.a[i].time_f<
fi.a[i].changci<
fi.a[i].name<
\t\t"
fi.a[i].price<
fi.a[i].zhekou<
fi.a[i].zwnumber<
endl;
}
voidfilm:
luru()
{
intm;
请输入操作:
1无数据状态录入信息"
2有数据状态添加信息"
cin>
>
m;
switch(m)
{
case1:
system("
Cls"
);
fi.ksluru();
break;
case2:
len=fi.zhengjia();
}
ksluru()
charch;
for(inti=0;
i<
100;
i++)
{
cout<
输入日期:
cin>
fi.a[i].time_n>
fi.a[i].time_y>
fi.a[i].time_t;
输入时间:
fi.a[i].time_s>
fi.a[i].time_f;
fi.a[i].datetime[0]=fi.a[i].time_n;
fi.a[i].datetime[1]=fi.a[i].time_y;
fi.a[i].datetime[2]=fi.a[i].time_t;
fi.a[i].datetime[3]=fi.a[i].time_s;
fi.a[i].datetime[4]=fi.a[i].time_f;
场次:
fi.a[i].changci;
电影名称:
fi.a[i].name;
票价:
fi.a[i].price;
会员折扣:
fi.a[i].zhekou;
剩余座位:
fi.a[i].zwnumber;
len++;
是否继续添加?
ch;
while
(1)
{
if(ch=='
n'
||ch=='
N'
y'
Y'
)
else
cout<
请重新输入!
}
if(ch=='
}
intfilm:
zhengjia()
for(inti=fi.len;
100-fi.len;
returnlen;
liulan()
intch;
\n\n\n\t\t\t\t显示模块\n\n\n"
所有电影信息如下:
日期\t时间\t场次\t电影名称\t票价\t折扣\t余票\t"
endl<
len;
<
按任意键退出"
<
}
inttimecmp(inta[],intb[],intn)
inti,t;
for(i=0;
n;
if(a[i]=b[i])
t++;
if(n==t)
return0;
else
return1;
chaxunname()
intn=0;
charna[20];
请输入查找影片:
na;
if(strcmp(na,a[i].name)==0)
show(i);
n++;
if(n==0)
没有结果!
查到结果!
}
chaxuntime()
inttemp1,temp2,temp3,temp4,temp5,n=0;
charch;
while
(1)
请输入查询时间:
日期:
(年,月,日)"
;
temp1>
temp2>
temp3;
时间:
(时,分)"
temp4>
temp5;
if((a[i].time_n==temp1)&
&
a[i].time_y==temp2&
a[i].time_t==temp3&
temp4==a[i].time_s&
a[i].time_f==temp5)
show(i);
if(n==0)
else
查到结果!
是否继续查找?
voidfilm:
chaxun()
intm;
请输入查询方式:
1按时间"
2按电影名"
fi.chaxuntime();
fi.chaxunname();
按任意键退出!
shoupiao()
SYSTEMTIMEsys;
GetLocalTime(&
sys);
intn=0,c;
charna[20],x,ch;
请输入购买影片:
输入购买场次:
c;
if(strcmp(na,a[i].name)==0&
(c==a[i].changci)&
a[i].zwnumber>
0)
if(a[i].time_n<
sys.wYear)
{
cout<
电影已播放"
}
n++;
show(i);
a[i].zwnumber--;
是否为会员?
cin>
x;
if(x=='
||x=='
{
cout<
您需要支付"
a[i].price*a[i].zhekou*0.1<
元"
}
else
a[i].price<
tuipiao()
SYSTEMTIMEsys;
GetLocalTime(&
intn=0,c;
请输入退票影片:
请输入退票场次:
fi.len;
a[i].changci==c)
已播放完!
退回您"
intmain()
intx,m,i=1;
while(i)
system("
\n\n\n\t\t\t\t主界面\n\n\n"
\t\t\t~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
\t\t\t请输入需要的操作:
\t\t\t1录入放映信息"
\t\t\t2浏览放映信息"
\t\t\t3查询电影"
\t\t\t4售票和退票"
\t\t\t5退出"
switch(m)
case1:
system("
fi.luru();
break;
case2:
fi.liulan();
case3:
fi.chaxun();
case4:
1购票"
2退票"
switch(x)
{
case1:
fi.shoupiao();
break;
case2:
fi.tuipiao();
case5:
i=0;