《电影票售票管理系统分析与设计.doc》由会员分享,可在线阅读,更多相关《电影票售票管理系统分析与设计.doc(8页珍藏版)》请在三一办公上搜索。
1、吉 首 大 学本科生课程设计课程名称: 程序设计基础 设计题目: 电影票管理系统分析与设计 学生姓名: 杨博文 学 号: 20144206112 学 院: 软件服务外包学院 专业年级: 软件工程2014级 指导教师: 王新峰 填写时间: 2014年12月 一、引言现在中国大部分的家庭都喜欢在家里置办属于自己风格的家庭影院。但是,仍然有很多人喜欢到电影院去看电影。因为家里的气氛毕竟不如影院的气氛。所以,现代家庭影院的出现并不会让电影院没有生路。每个社会服务系统都有自己的一套管理机制。当然,电影院也不除外。其实电影院的管理系统应该来说比其他的社会服务系统的管理要简单一点。电影院不外乎是引进电影,制
2、定播放影片的时间表,买票,检票进场观看,还有就是一些数据管理方面的事。如工作人员管理,票务管理等等。为了工作机制简单有序,必然要引进一套管理系统。二、系统功能描述具体而言,影院售票系统需要实现以下的需求:1. 能够对播放电影,工作人员,售票事宜,检票事宜,无用数据进行处理。2. 售票管理自然有专人负责,要处理各电影的电影票销售问题。当然包括退票问题,还有就是预订电影票其实也就相当于买票。两者可以当一回事处理。3. 检票管理事宜要完成观众进场时检票的事宜。其中包括了电影票的真假检测问题。4. 数据管理要处理电影的播放的次序,工作人员的管理,以及过期电影票的处理问题。以上功能小生都没有实现,此代码
3、及仅仅实现了售票都算不上的这个模块。本程序实现了售票所需的电影菜单、订票即购票、退票、查询票数。l 电影菜单中含有电影信息,电影信息储存在文件“电影菜单.txt”中,包括电影序号、电影名称、上映日期、票价。修改直接在文件中修改,没有实现在程序中直接修改电影信息。l 订票、退票所更改电影座位的信息储存在六个“电影(一六).txt”的文件中,文件需自己创建且需自己写入电影序号“16”和总座位数,数字之间以空格隔开。l 查询在打开文件直接提取数据输出。三、系统设计思路电影票务系统开始界面函数购票查询退出电影菜单退票打开电影菜单文件,输出显示在运行界面上按电影序号购票将结束界面,显示按电影序号查询按电
4、影序号退票 1 2 3 4 5四、源程序及说明#include#include#includeint a,b,c,d;int k;FILE*fp;void printf_start(); /定义开始界面函数void menu(); /定义电影菜单函数void book(); /定义购票函数void cancel(); /定义退票函数void inquire(); /定义查询函数void printf_end(); /定义结束界面函数void choose1(); /定义循环函数void main() /主函数printf_start();void printf_start() /开始界面cha
5、r ch;system(color 02);fp=fopen(界面.txt,r);for(ch=fgetc(fp);ch!=EOF;ch=fgetc(fp)/从文件中一个个读取字符 printf(%c,ch);Sleep(1);/在文件读取时延迟1微秒 fclose(fp);printf(请输入您所需的服务项目:(1-5)n);scanf(%d,&k);switch(k)case 1:menu();break;case 2:book();break;case 3:cancel();break;case 4:inquire();break;case 5:printf_end();break;de
6、fault:printf(您输入错误!(You enter an wrong number!)n);choose1();void menu() /电影菜单函数 (Movies menu)char ch;fp=fopen(电影菜单.txt,r);for(ch=fgetc(fp);ch!=EOF;ch=fgetc(fp)/从文件中一个个读取字符printf(%c,ch);Sleep(10);/在文件读取时延迟10微秒 fclose(fp);choose1();void book() /预定电影票函数(Book the ticket.)void printf_start();int m,k;prin
7、tf(请输入目标电影序号:(1-6)n);scanf(%d,&k);switch(k)case 1:fp=fopen(电影一.txt,r+);break;case 2:fp=fopen(电影二.txt,r+);break;case 3:fp=fopen(电影三.txt,r+);break;case 4:fp=fopen(电影四.txt,r+);break;case 5:fp=fopen(电影五.txt,r+);break;case 6:fp=fopen(电影六.txt,r+);break;default :printf(您输入错误!(You enter an wrong number!)n);
8、choose1();fscanf(fp,%d %d %d %d,&a,&b,&c,&d);d=b-c;printf( 电影序号%d 共有座位%d 已卖出%d 剩余%dn,a,b,c,d);if(d1) printf( 对不起,票已售完,请下次再来n);elseprintf(确定订票?1(Yes)/0(No)n);scanf(%d,&m);if(m=1)c+;d-;printf( 谢谢购买!祝您观影愉快!n);rewind(fp);fprintf(fp,%d %d %d %d,a,b,c,d);fscanf(fp,%d %d %d %d,&a,&b,&c,&d);fclose(fp);print
9、f( 电影序号%d 共有座位%d 已卖出%d 剩余%dn,a,b,c,d);choose1();void cancel() /退订电影票函数(Cancel the ticket)int m;printf(请输入目标电影序号:(1-6)n);scanf(%d,&k);switch(k)case 1:fp=fopen(电影一.txt,r+);break;case 2:fp=fopen(电影二.txt,r+);break;case 3:fp=fopen(电影三.txt,r+);break;case 4:fp=fopen(电影四.txt,r+);break;case 5:fp=fopen(电影五.tx
10、t,r+);break;case 6:fp=fopen(电影六.txt,r+);break;default :printf(您输入错误!(You enter an wrong number!)n);choose1();fscanf(fp,%d %d %d %d,&a,&b,&c,&d);d=b-c;printf( 电影序号%d 共有座位%d 已卖出%d 剩余%dn,a,b,c,d);if(d1) printf( 对不起您的输入有误,请重试!n);elseprintf(确定退票?1(Yes)/0(No)n);scanf(%d,&m);if(m=1)c-;d+;printf( 已退票,欢迎下次再来
11、n);rewind(fp);fprintf(fp,%d %d %d %d,a,b,c,d);fscanf(fp,%d %d %d %d,&a,&b,&c,&d);fclose(fp);printf( 电影序号%d 共有座位%d 已卖出%d 剩余%dn,a,b,c,d);choose1();void inquire() /查询剩余电影票函数printf(请输入目标电影序号:(1-6)n);scanf(%d,&k);switch(k)case 1:fp=fopen(电影一.txt,r+);break;case 2:fp=fopen(电影二.txt,r+);break;case 3:fp=fopen
12、(电影三.txt,r+);break;case 4:fp=fopen(电影四.txt,r+);break;case 5:fp=fopen(电影五.txt,r+);break;case 6:fp=fopen(电影六.txt,r+);break;default :printf(您输入错误!(You enter an wrong number!)n);choose1();fscanf(fp,%d %d %d %d,&a,&b,&c,&d);d=b-c;printf( 电影序号%d 共有座位%d 已卖出%d 剩余%dn,a,b,c,d);choose1();void choose1() /循环选择pr
13、intf(继续(continue)? 1(Yes)/0(No) n);scanf(%d,&k);system(cls); /清屏if(k=1)printf_start();if(k=0)printf_end();else if(k!=0&k!=1)printf(您输入错误!(You enter an wrong number!)n);choose1();void printf_end() /结束界面函数printf(是否继续退出(continue)? 1(Yes)/0(No) n);scanf(%d,&k);system(cls); /清屏if(k=1)printf(nnn);printf( 谢谢惠顾,欢迎再来!n);printf( Thank you for use my system! Bye!nnn);printf( Author:路边摊影院(Roadside Theate)nnn);if(k=0)choose1();else if(k!=0&k!=1)printf(您输入错误!(You enter an wrong number!)n);printf_end();五、课程设计总结通过这次实训,是我更加熟悉和掌握了C语言的作用。帮我熟悉了更多C语言的功能,提高了我的动手能力,学到了许多解决实际问题的宝贵经验。