您好,欢迎访问三七文档
内蒙古科技大学本科生课程设计说明书题目:C++课程设计——电影院售票管理系统学生姓名:学号:专业:班级:指导教师:日期:总体设计接口设计函数列表函数名函数格式函数功能LuruVoid录入信息Chaxunnamevoid按姓名查询信息Chaxuntimevoid按时间查询信息Liulanvoid浏览信息Shoupiaovoid售票Tuipiaoint退票Showvoid显示信息Tianjiavoid添加信息详细设计录入信息:主函数录入信息添加信息查询信息浏览信息售票与退票结束按提示输入信息,保存在类中定义的数组a[100]中。进入输入信息显示信息结束查询信息:通过调用类中chaxun()函数,选择以何种方式查询,通过输入查询电影的名或时间,查找到所查找的电影,最终输出。浏览信息:通过使用for语句,将存储的所有电影信息打印出来。进入输入选项t=1t=2输入时间输入姓名输出结果结束t=2添加信息:按提示输入信息,储存在数组中,最终电影的个数len加1。进入输入电影信息显示添加电影信息结束售票与退票:先选择需要进行的操作,选择完成时,按要求输入电影信息,如果没有查找到,就输出无信息,查找到函数内的n变量加1,并输出查到信息。查找到信息之后将查到的电影播放时间与系统时间比较,如果小于系统时间,则已经播放完,无法进行售票或退票。如果没有播放,则判定是否是会员,如果是会员,则计算输出会员价格,若不是会员,则输出原价。售票输入电影场次和时间是否超时输出超时是否会员输出会员价结束输出原价退票输入电影场次和时间是否超时输出超时是否会员输出会员价结束输出原价课程设计总结:这次课程设计难点是电影播放时间与系统时间的比较,这个问题我通过查阅资料认识到了头文字windows.h中的获取系统时间SYSTEMTIMEsys和GetLocalTime(&sys),最终解决了问题。附录:#includeiostream#includestring.h#includectime#includewindows.husingnamespacestd;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){coutfi.a[i].time_n-fi.a[i].time_y-fi.a[i].time_t\tfi.a[i].time_s:fi.a[i].time_f\tfi.a[i].changci\tfi.a[i].name\t\tfi.a[i].price\tfi.a[i].zhekou\tfi.a[i].zwnumberendl;}voidfilm::luru(){intm;cout请输入操作:endl;cout1无数据状态录入信息endl;cout2有数据状态添加信息endl;cinm;switch(m){case1:system(Cls);fi.ksluru();break;case2:system(Cls);len=fi.zhengjia();break;}}voidfilm::ksluru(){charch;for(inti=0;i100;i++){cout输入日期:endl;cinfi.a[i].time_nfi.a[i].time_yfi.a[i].time_t;cout输入时间:endl;cinfi.a[i].time_sfi.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;cout场次:endl;cinfi.a[i].changci;cout电影名称:endl;cinfi.a[i].name;cout票价:endl;cinfi.a[i].price;cout会员折扣:endl;cinfi.a[i].zhekou;cout剩余座位:endl;cinfi.a[i].zwnumber;len++;cout是否继续添加?endl;cinch;while(1){if(ch=='n'||ch=='N'||ch=='y'||ch=='Y')break;elsecout请重新输入!endl;}if(ch=='N'||ch=='n'){break;}}}intfilm::zhengjia(){charch;for(inti=fi.len;i100-fi.len;i++){cout输入日期:endl;cinfi.a[i].time_nfi.a[i].time_yfi.a[i].time_t;cout输入时间:endl;cinfi.a[i].time_sfi.a[i].time_f;cout场次:endl;cinfi.a[i].changci;cout电影名称:endl;cinfi.a[i].name;cout票价:endl;cinfi.a[i].price;cout会员折扣:endl;cinfi.a[i].zhekou;cout剩余座位:endl;cinfi.a[i].zwnumber;len++;cout是否继续添加?endl;cinch;while(1){if(ch=='n'||ch=='N'||ch=='y'||ch=='Y')break;elsecout请重新输入!endl;}if(ch=='N'||ch=='n'){break;}}returnlen;}voidfilm::liulan(){intch;cout\n\n\n\t\t\t\t显示模块\n\n\nendl;cout所有电影信息如下:endl;cout日期\t时间\t场次\t电影名称\t票价\t折扣\t余票\tendlendl;for(inti=0;ilen;i++){coutfi.a[i].time_n-fi.a[i].time_y-fi.a[i].time_t\tfi.a[i].time_s:fi.a[i].time_f\tfi.a[i].changci\tfi.a[i].name\t\tfi.a[i].price\tfi.a[i].zhekou\tfi.a[i].zwnumberendl;}cout按任意键退出endl;cinch;}inttimecmp(inta[],intb[],intn){inti,t;for(i=0;in;i++){if(a[i]=b[i])t++;}if(n==t)return0;elsereturn1;}voidfilm::chaxunname(){intn=0;charna[20];cout请输入查找影片:endl;cinna;cout日期\t时间\t场次\t电影名称\t票价\t折扣\t余票\tendlendl;for(inti=0;ilen;i++){if(strcmp(na,a[i].name)==0){show(i);}n++;}if(n==0){cout没有结果!endl;}else{cout查到结果!endl;}}voidfilm::chaxuntime(){inttemp1,temp2,temp3,temp4,temp5,n=0;charch;while(1){cout请输入查询时间:endl;cout日期:(年,月,日);cintemp1temp2temp3;cout时间:(时,分);cintemp4temp5;cout日期\t时间\t场次\t电影名称\t票价\t折扣\t余票\tendlendl;for(inti=0;ilen;i++){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);n++;}if(n==0){cout没有结果!;}else{cout查到结果!endl;}cout是否继续查找?endl;cinch;while(1){if(ch=='n'||ch=='N'||ch=='y'||ch=='Y')break;elsecout请重新输入!endl;}if(ch=='N'||ch=='n'){break;}}}voidfilm::chaxun(){intm;charch;cout请输入查询方式:endl;cout1按时间endl;cout2按电影名endl;cinm;switch(m){case1:system(Cls);fi.chaxuntime();break;case2:system(Cls);fi.chaxunname();break;}cout按任意键退出!endl;cinch;}voidfilm::shoupiao(){SYSTEMTIMEsys;GetLocalTime(&sys);intn=0,c;charna[20],x,ch;cout请输入购买影片:endl;cinna;cout输入购买场次:endl;cinc;cout日期\t时间\t场次\t电影名称\t票价\t折扣\t余票\tendlendl;for(inti=0;ilen;i++){if(strcmp(na,a[i].name)==0&&(c==a[i].changci)&&a[i].zwnumber0){if(a[i].time_nsys.wYear){cout电影已播放endl;}else{n++;show(i);a[i].zwnumber--;cout是否为会员?endl;cinx;if(x=='y'||x=='Y'){cout您需要支付a[i].price*a[i].zhekou*0.1元endl;}else{cout您需要支付a[i].price元endl;}}}}if(n==0){cout没有结果!endl;}cout按任意键退出!endl;cinch;}voidfilm::tuipiao(){SYSTEMTIMEsys;GetLocalTime(&sys);intn=0,c;charna[20],x,ch;cout请输入退票影片:endl;cinna;cout请输入退票场次:endl;cinc;cout日期\
本文标题:电影院售票系统
链接地址:https://www.777doc.com/doc-4720524 .html