电影院售票系统
来源:互联网 发布:js注册登录页面验证 编辑:程序博客网 时间:2024/04/27 13:33
大学期间的C++课设,难忘的时刻仍留于脑海。
总结:总体设计满意,功能齐全,但缺点是主函数过于“庞大”,应该用函数实现,其实留有遗憾才能进步!呵呵。。。
主要程序代码,加上详细的注释
//头文件:
#include<iostream>
using namespace std;
#include<string.h>
#include<stdio.h>
#include<time.h>
//时间函数,time_t是一个在time.h中定义好的结构体。而tm结构体的原形如下 :
struct
{
int tm_sec;
int tm_min;
int tm_hour;
int tm_mday;
int tm_mon;
int tm_year;
int tm_wday;
int tm_yday;
int tm_isdst;
};
//这是Film_remember类
class
{
public:
int
int
int
int
int
int
char name3[20];
int
int
int
copy(int date2_year,int date2_mon,int date2_day,int time2_hour,int time2_min,int order2,char name2[20],int price2,int discount2,int left_number2);
remembershow();
};
//类外实现copy函数和remembershow函数
Film_remember::copy(int date2_year,int date2_mon,int date2_day,int time2_hour,int time2_min,int order2,char name2[20],int price2,int discount2,int left_number2)
{
date3_year=date2_year;
date3_mon=date2_mon;
date3_day=date2_day;
time3_hour=time2_hour;
time3_min=time2_min;
order3=order2;
strcpy(name3,name2);
price3=price2;
discount3=discount2;
left_number3=left_number2;
}
Film_remember::remembershow()
{
cout<<"放映日期
cout<<date3_year<<" 年"<<date3_mon<<"月"<<date3_day<<" 日
}
//在主函数中
while(choice<=6)
{
cout<<"****************请从以下选择操作****************"<<endl;
cout<<"*
cout<<"*
cout<<"*
cout<<"*
cout<<"*
cout<<"*
cout<<"************************************************"<<endl;
// 录入放映信息
if(choice==1)
{
rem++;
cout<<"请输入放映日期
cin>>date1_year>>date1_mon>>date1_day>>time1_hour>>time1_min>>order1>>name1>>price1>>discount1>>left_number1;
re[rem].copy(date1_year,date1_mon,date1_day,time1_hour,time1_min,order1,name1,price1,discount1,left_number1);
cout<<endl;
}
//浏览放映信息:
if(choice==2)
{
for(int t1=1;t1<=rem;t1++)
{
if(timenow->tm_year+1900<re[t1].date3_year)
{
re[t1].remembershow();
}
else if(timenow->tm_year+1900==re[t1].date3_year) //判断在相同时间年份里月份的大小
{
if(timenow->tm_mon+1<re[t1].date3_mon)
{
re[t1].remembershow();
}
else if(timenow->tm_mon+1==re[t1].date3_mon)
{
if(timenow->tm_mday<re[t1].date3_day)
{
re[t1].remembershow();
}
else if(timenow->tm_mday==re[t1].date3_day)
{
if(timenow->tm_hour<re[t1].time3_hour)
{
re[t1].remembershow();
}
else if(timenow->tm_hour==re[t1].time3_hour)
{
if(timenow->tm_min<re[t1].time3_min)
{
re[t1].remembershow();
}
else
cout<<"电影《"<<re[t1].name3<<"》,
}
else
cout<<"电影《"<<re[t1].name3<<"》,
}
else
cout<<"电影《"<<re[t1].name3<<"》,
}
else
cout<<"电影《"<<re[t1].name3<<"》,
}
else
cout<<"电影《"<<re[t1].name3<<"》,
cout<<endl;
}
}
//按日期查询电影:
if(choice==3)
{
int seyear,semon,seday,p=0;
cout<<"请输入要查询的日期,年、月、日:"<<endl;
cin>>seyear>>semon>>seday;
for(int t2=1;t2<=rem;t2++)
{
if(seday == re[t2].date3_day && semon ==re[t2].date3_mon && seyear ==re[t2].date3_year)
{
p++;
if(timenow->tm_year+1900 == seyear)
{
if(timenow->tm_mon+1 == semon)
{
if(timenow->tm_mday == seday)
{
re[t2].remembershow();
}
else if(timenow->tm_mday > re[t2].date3_day)
cout<<"电影《"<<re[t2].name3<<"》,
else
re[t2].remembershow();
}
else if(timenow->tm_mon+1 > semon)
{
cout<<"电影《"<<re[t2].name3<<"》,
}
else
re[t2].remembershow();
}
else if(timenow->tm_year+1900 > seyear)
{
cout<<"电影《"<<re[t2].name3<<"》,
}
else
re[t2].remembershow();
}
}
if(p==0)
{
cout<<"很抱歉!您所查询的此日的电影不存在! "<<endl;
cout<<endl;
}
}
//按电影名查询电影:
if(choice==4)
{
char
int
cout<<"请输入要查询的电影名称为:"<<endl;
cin>>sename;
for(int t3=1;t3<=rem;t3++)
{
if(strcmp(sename,re[t3].name3)==0)
{
p1++;
if(timenow->tm_year+1900 == re[t3].date3_year)
{
if(timenow->tm_mon+1 == re[t3].date3_mon)
{
if(timenow->tm_mday == re[t3].date3_day)
{
re[t3].remembershow();
}
else if(timenow->tm_mday > re[t3].date3_day)
cout<<"电影《"<<re[t3].name3<<"》,
else
re[t3].remembershow();
}
else if(timenow->tm_mon+1 > re[t3].date3_mon)
{
cout<<"电影《"<<re[t3].name3<<"》,
}
else
re[t3].remembershow();
cout<<endl;
}
else if(timenow->tm_year+1900 > re[t3].date3_year)
{
cout<<"电影《"<<re[t3].name3<<"》,
}
else
re[t3].remembershow();
}
}
if(p1==0)
{
cout<<"很抱歉!您所查询的电影不存在! "<<endl;
cout<<endl;
}
}
//售票:
if(choice==5)
{
int
cout<<"若买票请选择 1,若退票请选择 2:"<<endl;
cin>>choice1;
if(choice1==1)
{
char m[10] ;
cout<<"请输入您要购买的电影票:"<<endl;
cin>>m;
int q=0;
for(int n=1;n<=rem;n++)
{
if(strcmp(m,re[n].name3)==0)
{
q++;
if(re[n].left_number3>0)
{
if(timenow->tm_year+1900 < re[n].date3_year)
{
re[n].remembershow();
char fff;
cout<<"您是否是会员?y/n:"<<endl;
cin>>fff;
if(fff=='y'||fff=='Y')
cout<<"您所购买的电影票价格为:"<<re[n].price3*re[n].discount3/10<<endl;
else
cout<<"您所购买的电影票价格为:"<<re[n].price3<<endl;
re[n].left_number3--;
}
else if(timenow->tm_year+1900==re[n].date3_year)
{
if(timenow->tm_mon+1<re[n].date3_mon)
{
re[n].remembershow();
char fff;
cout<<"您是否是会员?y/n:"<<endl;
cin>>fff;
if(fff=='y'||fff=='Y')
cout<<"您所购买的电影票价格为:"<<re[n].price3*re[n].discount3/10<<endl;
else
cout<<"您所购买的电影票价格为:"<<re[n].price3<<endl;
re[n].left_number3--;
}
else if(timenow->tm_mon+1==re[n].date3_mon)
{
if(timenow->tm_mday<re[n].date3_day)
{
re[n].remembershow();
char fff;
cout<<"您是否是会员?y/n:"<<endl;
cin>>fff;
if(fff=='y'||fff=='Y')
cout<<"您所购买的电影票价格为:"<<re[n].price3*re[n].discount3/10<<endl;
else
cout<<"您所购买的电影票价格为:"<<re[n].price3<<endl;
re[n].left_number3--;
}
else if(timenow->tm_mday==re[n].date3_day)
{
if(timenow->tm_hour<re[n].time3_hour)
{
re[n].remembershow();
char fff;
cout<<"您是否是会员?y/n:"<<endl;
cin>>fff;
if(fff=='y'||fff=='Y')
cout<<"您所购买的电影票价格为:"<<re[n].price3*re[n].discount3/10<<endl;
else
cout<<"您所购买的电影票价格为:"<<re[n].price3<<endl;
re[n].left_number3--;
}
else if(timenow->tm_hour==re[n].time3_hour)
{
if(timenow->tm_min<re[n].time3_min)
{
re[n].remembershow();
char fff;
cout<<"您是否是会员?y/n:"<<endl;
cin>>fff;
if(fff=='y'||fff=='Y')
cout<<"您所购买的电影票价格为:"<<re[n].price3*re[n].discount3/10<<endl;
else
cout<<"您所购买的电影票价格为:"<<re[n].price3<<endl;
re[n].left_number3--;
}
else
cout<<"很抱歉,电影《"<<re[n].name3<<"》, 场次"<<re[n].order3<<" 已放映结束!"<<endl;
}
else
cout<<"很抱歉,电影《"<<re[n].name3<<"》, 场次"<<re[n].order3<<" 已放映结束!"<<endl;
}
else
cout<<"很抱歉,电影《"<<re[n].name3<<"》, 场次"<<re[n].order3<<" 已放映结束!"<<endl;
}
else
cout<<"很抱歉,电影《"<<re[n].name3<<"》, 场次"<<re[n].order3<<" 已放映结束!"<<endl;
}
else
cout<<"很抱歉,电影《"<<re[n].name3<<"》, 场次"<<re[n].order3<<" 已放映结束!"<<endl;
cout<<endl;
}
else
cout<<"很抱歉,票已卖完!"<<endl;
}
}
if(q==0)
{
cout<<"很抱歉,您所要购买的电影票不存在!"<<endl;
}
}
//退票:
if(choice1==2)
{
char
int
cout<<"请输入退票的电影名和场次:"<<endl;
cin>>m1;
cin>>order5;
int
for(int n1=1;n1<=rem;n1++)
{
char ffff;
if(strcmp(m1,re[n1].name3)==0 && re[n1].order3 == order5)
{
t4++;
if(timenow->tm_year+1900 < re[n1].date3_year && re[n1].order3 == order5)
{
cout<<"是否是会员?y/n:"<<endl;
cin>>ffff;
if(ffff=='y'||ffff=='Y')
cout<<"退票成功!退还给您钱:"<<re[n1].price3*re[n1].discount3/10<<endl;
else
cout<<"退票成功!退还给您钱:"<<re[n1].price3<<endl;
re[n1].left_number3++;
}
else if(timenow->tm_year+1900 == re[n1].date3_year && re[n1].order3 == order5)
{
if(timenow->tm_mon+1 < re[n1].date3_mon && re[n1].order3 == order5)
{
cout<<"是否是会员?y/n:"<<endl;
cin>>ffff;
if(ffff=='y'||ffff=='Y')
cout<<"退票成功!退还给您钱:"<<re[n1].price3*re[n1].discount3/10<<endl;
else
cout<<"退票成功!退还给您钱:"<<re[n1].price3<<endl;
re[n1].left_number3++;
}
else if(timenow->tm_mon+1 == re[n1].date3_mon && re[n1].order3 == order5)
{
if(timenow->tm_mday < re[n1].date3_day && re[n1].order3 == order5)
{
cout<<"是否是会员?y/n:"<<endl;
cin>>ffff;
if(ffff=='y'||ffff=='Y')
cout<<"退票成功!退还给您钱:"<<re[n1].price3*re[n1].discount3/10<<endl;
else
cout<<"退票成功!退还给您钱:"<<re[n1].price3<<endl;
re[n1].left_number3++;
}
else if(timenow->tm_mday == re[n1].date3_day && re[n1].order3 == order5)
{
if(timenow->tm_hour < re[n1].time3_hour && re[n1].order3 == order5)
{
cout<<"是否是会员?y/n:"<<endl;
cin>>ffff;
if(ffff=='y'||ffff=='Y')
cout<<"退票成功!退还给您钱:"<<re[n1].price3*re[n1].discount3/10<<endl;
else
cout<<"退票成功!退还给您钱:"<<re[n1].price3<<endl;
re[n1].left_number3++;
}
else if(timenow->tm_hour == re[n1].time3_hour && re[n1].order3 == order5)
{
if(timenow->tm_min < re[n1].time3_min && re[n1].order3 == order5)
{
cout<<"是否是会员?y/n:"<<endl;
cin>>ffff;
if(ffff=='y'||ffff=='Y')
cout<<"退票成功!退还给您钱:"<<re[n1].price3*re[n1].discount3/10<<endl;
else
cout<<"退票成功!退还给您钱:"<<re[n1].price3<<endl;
re[n1].left_number3++;
}
else
cout<<"很抱歉,此电影已放映,票无法退还!"<<endl;
}
else
cout<<"很抱歉,此电影已放映,票无法退还!"<<endl;
}
else
cout<<"很抱歉,此电影已放映,票无法退还!"<<endl;
}
else
cout<<"很抱歉,此电影已放映,票无法退还!"<<endl;
}
else
cout<<"很抱歉,此电影已放映,票无法退还!"<<endl;
cout<<endl;
}
}
if(t4==0)
cout<<"很抱歉,您的电影票不是此电影院发放的!"<<endl;
}
else
cout<<"您的输入有误,请重新选择!"<<endl;
}
//退出系统:
else
{
cout<<"************************************************"<<endl;
cout<<"*************谢谢使用此系统,再见!*************"<<endl;
cout<<"************************************************"<<endl;
break;
}
- 电影院售票系统
- C#-电影院简单售票系统-Console App---ShinePans
- 怎么用C语言编 电影院售票系统
- C语言课设--电影院售票
- java多线程简单项目--电影院售票机
- 售票系统
- 售票系统
- 售票系统
- 售票系统
- 售票系统
- 电影院
- 奥运网站售票系统
- 火车站点售票系统
- 汽车站售票管理系统
- 汽车站售票管理系统
- 火车票售票系统
- *多线程 模拟售票系统
- 售票系统与多线程
- 《企业应用架构模式中文版》学习笔记
- __attribute__
- 简单计算器(应用软件)
- 《Effective.Enterprise.Java中文版》知识点摘要
- Lighttpd学习笔记——架构
- 电影院售票系统
- C#事件的发送方和接收方
- VMware+Windgb+Win7内核驱动调试
- 小程序
- 《java performance》读书笔记之垃圾回收监控分析
- 怀柔基地拓展总结
- 学习笔记之001——哪些关于const和static的事
- Linux驱动之Platform Driver
- poj 2039