电影票售票管理系统分析与设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
吉首大学
本科生课程设计
课程名称:程序设计基础
设计题目:电影票管理系统分析与设计
学生姓名:杨博文
学号: 20144206112 学院: 软件服务外包学院
专业年级: 软件工程2014级
指导教师: 王新峰
填写时间: 2014年12月
一、引言
现在中国大部分的家庭都喜欢在家里置办属于自己风格的家庭影院。但是,仍然有很多人喜欢到电影院去看电影。因为家里的气氛毕竟不如影院的气氛。所以,现代家庭影院的出现并不会让电影院没有生路。
每个社会服务系统都有自己的一套管理机制。当然,电影院也不除外。其实电影院的管理系统应该来说比其他的社会服务系统的管理要简单一点。电影院不外乎是引进电影,制定播放影片的时间表,买票,检票进场观看,还有就是一些数据管理方面的事。如工作人员管理,票务管理等等。为了工作机制简单有序,必然要引进一套管理系统。
二、系统功能描述
具体而言,影院售票系统需要实现以下的需求:
1.能够对播放电影,工作人员,售票事宜,检票事宜,无用数据进行处理。
2.售票管理自然有专人负责,要处理各电影的电影票销售问题。当然包括退票
问题,还有就是预订电影票其实也就相当于买票。两者可以当一回事处理。
3.检票管理事宜要完成观众进场时检票的事宜。其中包括了电影票的真假检测
问题。
4.数据管理要处理电影的播放的次序,工作人员的管理,以及过期电影票的处
理问题。
以上功能小生都没有实现,此代码及仅仅实现了售票都算不上的这个模块。
本程序实现了售票所需的电影菜单、订票即购票、退票、查询票数。
●电影菜单中含有电影信息,电影信息储存在文件“电影菜单.txt”中,包括
电影序号、电影名称、上映日期、票价。修改直接在文件中修改,没有实现在程序中直接修改电影信息。
●订票、退票所更改电影座位的信息储存在六个“电影‘(一~六)’.txt”的
文件中,文件需自己创建且需自己写入电影序号“1~6”和总座位数,数字之间以空格隔开。
●查询在打开文件直接提取数据输出。
三、系统设计思路
四、源程序及说明
#include
#include
#include
int 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() //开始界面
{
char 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;
default: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;
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("电影五.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 剩余%d\n",a,b,c,d);
if(d<1) printf(" 对不起,票已售完,请下次再来\n");
else
{
printf("确定订票?1(Yes)/0(No)\n");
scanf("%d",&m);
if(m==1)