C++课程设计----电影院售票系统 电影院售票管理系统

大学期间的C++课设,难忘的时刻仍留于脑海。

总结:总体设计满意,功能齐全,但缺点是主函数过于“庞大”,应该用函数实现,其实留有遗憾才能进步!呵呵。。。

主要程序代码,加上详细的注释

//头文件:

#include<iostream>

using namespace std;

#include<string.h>

#include<stdio.h>

#include<time.h>

//时间函数,time_t是一个在time.h中定义好的结构体。而tm结构体的原形如下

struct

{

inttm_sec;// seconds after the minute - [0,59]

inttm_min;// minutes after the hour - [0,59]

inttm_hour;// minutes after the hour - [0,59]

inttm_mday;//day of the month - [1,31]

inttm_mon;//months since January - [0,11]

inttm_year;//years since 1900

inttm_wday;//days since Sunday - [0,6]

inttm_yday;//days since January 1 - [0,365]

inttm_isdst;//daylight savings time flag

};

//这是Film_remember

classFilm_remember

{

public:

intdate3_year;

intdate3_mon;

intdate3_day;

inttime3_hour;

inttime3_min;

intorder3;

char name3[20];

intprice3;

intdiscount3;

intleft_number3;

copy(int date2_year,int date2_mon,intdate2_day,int time2_hour,int time2_min,int order2,charname2[20],int price2,int discount2,intleft_number2);//把数值传入记忆函数

remembershow();

};

//类外实现copy函数和remembershow函数

Film_remember::copy(int date2_year,intdate2_mon,int date2_day,int time2_hour,int time2_min,intorder2,char name2[20],int price2,int discount2,intleft_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<<"放映日期"<<"时间"<<"场次"<<"电影名称"<<"票价"<<"会员折扣"<<"剩余座位数量"<<endl;

cout<<date3_year<<"年"<<date3_mon<<"月"<<date3_day<<"日"<<time3_hour<<":"<<time3_min<<""<<order3<<"《"<<name3<<"》"<<price3<<""<<discount3<<""<<left_number3<<endl;

}

//在主函数中

while(choice<=6)//用循环来进行不断操作,直至结束操作

{

cout<<"****************请从以下选择操作****************"<<endl;

cout<<"**1.录入放映信息*"<<endl;

cout<<"**2.浏览放映信息*"<<endl;

cout<<"**3.按日期查询电影*"<<endl;

cout<<"**4.按电影名查询电影*"<<endl;

cout<<"**5.售票和退票*"<<endl;

cout<<"**6.退出*"<<endl;

cout<<"************************************************"<<endl;

// 录入放映信息

if(choice==1)

{

rem++;

cout<<"请输入放映日期"<<"时间"<<"场次"<<"电影名称"<<"票价"<<"会员折扣"<<"剩余座位数量"<<endl;

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);//向类remember传值

cout<<endl;

}

//浏览放映信息:

if(choice==2)// 浏览放映信息

{

for(intt1=1;t1<=rem;t1++)//从类的对象数组里依次输出浏览信息

{

if(timenow->tm_year+1900<re[t1].date3_year)//判断系统时间中得年份是否小于电影放映时间

{

re[t1].remembershow();

}

elseif(timenow->tm_year+1900==re[t1].date3_year)//判断在相同时间年份里月份的大小

{

if(timenow->tm_mon+1<re[t1].date3_mon)

{

re[t1].remembershow();

}

elseif(timenow->tm_mon+1==re[t1].date3_mon)//判断在相同时间月份里天数的大小

{

if(timenow->tm_mday<re[t1].date3_day)

{

re[t1].remembershow();//若系统时间小于放映时间则显示出放映信息

}

elseif(timenow->tm_mday==re[t1].date3_day)

{

if(timenow->tm_hour<re[t1].time3_hour)

{

re[t1].remembershow();

}

elseif(timenow->tm_hour==re[t1].time3_hour)

{

if(timenow->tm_min<re[t1].time3_min)

{

re[t1].remembershow();

}

else

cout<<"电影《"<<re[t1].name3<<"》,场次:"<<re[t1].order3<<"放映结束!"<<endl;//若系统时间大于放映时间则显示出放映结束信息

}

else

cout<<"电影《"<<re[t1].name3<<"》,场次:"<<re[t1].order3<<"放映结束!"<<endl;

}

else

cout<<"电影《"<<re[t1].name3<<"》,场次:"<<re[t1].order3<<"放映结束!"<<endl;

}

else

cout<<"电影《"<<re[t1].name3<<"》,场次:"<<re[t1].order3<<"放映结束!"<<endl;

}

else

cout<<"电影《"<<re[t1].name3<<"》,场次:"<<re[t1].order3<<"放映结束!"<<endl;

cout<<endl;

}

}

//按日期查询电影:

if(choice==3)//按日期查询电影

{

int seyear,semon,seday,p=0;

cout<<"请输入要查询的日期,年、月、日:"<<endl;

cin>>seyear>>semon>>seday;

for(intt2=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<<"》,场次:"<<re[t2].order3<<"放映结束!"<<endl;

else

re[t2].remembershow();

}

elseif(timenow->tm_mon+1 > semon)

{

cout<<"电影《"<<re[t2].name3<<"》,场次:"<<re[t2].order3<<"放映结束!"<<endl;

}

else

re[t2].remembershow();

}

elseif(timenow->tm_year+1900 >seyear)

{

cout<<"电影《"<<re[t2].name3<<"》,场次:"<<re[t2].order3<<"放映结束!"<<endl;

}

else

re[t2].remembershow();

}

}

if(p==0)//判断是否有与此日期相同的放映的电影

{

cout<<"很抱歉!您所查询的此日的电影不存在!"<<endl;

cout<<endl;

}

}

//按电影名查询电影:

if(choice==4)// 按电影名查询电影

{

char sename[10];

intp1=0;

cout<<"请输入要查询的电影名称为:"<<endl;

cin>>sename;

for(intt3=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<<"》,场次:"<<re[t3].order3<<"放映结束!"<<endl;//输出此电影放映结束的信息

else

re[t3].remembershow();

}

elseif(timenow->tm_mon+1 >re[t3].date3_mon)

{

cout<<"电影《"<<re[t3].name3<<"》,场次:"<<re[t3].order3<<"放映结束!"<<endl;

}

else

re[t3].remembershow();

cout<<endl;

}

elseif(timenow->tm_year+1900 >re[t3].date3_year)

{

cout<<"电影《"<<re[t3].name3<<"》,场次:"<<re[t3].order3<<"放映结束!"<<endl;

}

else

re[t3].remembershow();

}

}

if(p1==0)//判断所查询的电影是否存在于放映列表

{

cout<<"很抱歉!您所查询的电影不存在!"<<endl;

cout<<endl;

}

}

//售票:

if(choice==5) // 售票和退票

{

int choice1;

cout<<"若买票请选择 1,若退票请选择2:"<<endl;

cin>>choice1;

if(choice1==1)//进行买票操作

{

char m[10] ;

cout<<"请输入您要购买的电影票:"<<endl;

cin>>m;

int q=0;

for(intn=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--;

}

elseif(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--;

}

elseif(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--;

}

elseif(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--;

}

elseif(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 m1[10];

intorder5;

cout<<"请输入退票的电影名和场次:"<<endl;

cin>>m1;

cin>>order5;

intt4=0;//计数

for(intn1=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++;

}

elseif(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++;

}

elseif(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;

C++课程设计----电影院售票系统 电影院售票管理系统

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;

}

  

爱华网本文地址 » http://www.413yy.cn/a/25101012/121276.html

更多阅读

数电课程设计心得 java课程设计心得体会

数电课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.回顾起此次课程设计,至今我仍感慨颇多,的确,从选题到定稿,从理论到实践,在短短的两个星期的日

基于标准的课程设计:开发表现性评价

朱伟强* 崔允漷**摘 要:国家颁布的课程标准,作为一种政策力量,规范着课程的实践。新课程提出了建立发展性评价的理念,课程设计和教学实践要求用评价来促进学习,评价设计先于教学实施。本文主要讨论设计基于标准的课程需要思考的第二个问

课程设计:单层工业厂房结构吊装设计

这个学期的作业基本完成。接下来的考试还是有些需要努力的,尤其是结构力学!今天特意把前几天忙碌的工程施工课程设计作业在博客上记录一下,以免以后有用到的地方~~~封面:《土木工程施工》课程设计某装配式单层工业厂房结构吊装设计

品德与社会课程标准的设计思路解析 课程设计思路

《品德与社会》课程设计的思路是:一条主线,点面结合,综合交叉,螺旋上升。一条主线本课程贯串始终的一条主线是:以儿童社会生活为主线。学习有关社会生活的常识、感受社会生活的美好、懂得社会生活的规范、掌握适应和参与社会生活的知识和

声明:《C++课程设计----电影院售票系统 电影院售票管理系统》为网友铭记这段殇分享!如侵犯到您的合法权益请联系我们删除