c++课程设计 电影院自动售票机
内容简介:有一个小型的电影院,这个电影院只有一个放映厅,厅里有10排座位,每排10个座位。这个电影院从早上8:00开始营业,每2小时放映一部电影,营业至次日凌晨2点结束。...
内容简介:有一个小型的电影院,这个电影院只有一个放映厅,厅里有10排座位,每排10个座位。这个电影院从早上8:00开始营业,每2小时放映一部电影,营业至次日凌晨2点结束。这个电影院现在打算使用自动售票机,来让观众自己购票。现在请你为这个自动售票机编写一个程序,使得这个自动售票机能够正确工作。
要求:
1、能够正确出售某一场次,某一座位的票;
2、能够统计每一场次的出票情况;
3、能够统计每一天每一场次的出票情况。
给我讲解一下程序的思路 展开
要求:
1、能够正确出售某一场次,某一座位的票;
2、能够统计每一场次的出票情况;
3、能够统计每一天每一场次的出票情况。
给我讲解一下程序的思路 展开
2个回答
展开全部
int zong(0);//定义一个全局变量,记录总出票
创建一个结构
struct weizhi
{
int x;//排号
int y[10];//对应排的座号
}
创建一个类.可根据需要继承或扩展
class sale
{
pravite:
int a;//场次
int b;//本厂总出票
weizhi zuohao[10];//存放座位的结构,这个也可以用数组表示,但这样比较直观
char riqi;//用于存放日期,也可以用其他形式表示,
void sale(int changci)//构造函数
{
this->chang(changci);
}
void sale(void);重载构造函数
public:
int maipiao(void){根据你要实现的情况填写,b+=1,zong+=1}//比如有人买票,可以将现有空座按10*10对应的0和1分别表示空或有人,供顾客挑选,若成功返回1,并使得总票数和单场票数各加1.失败返回0
viod chang(int c)//用于初始化场次
{
b=0;//初始化本厂次的总票数
a=changci;
riqi=系统日期(取值)
for (int i=0;i<=9;i++)//初始化座位
{
zuohao[i].x=i;
for (int j=0;j<=9;j++)
{
zuohao[i].y[j]=0;//初始化全部为0代表空,卖出一个相应变为1
}
}
}
viod tongjidanchang(void){cout<<b<<endl;}//统计单场打印出单场总出票的情况
.......后面省略,自己根据需要写
}
int main{}主函数//不知道你是需要有没有界面的,又是都是命令行的可愿意这样
{
char mingling;//命令符
do
cin>>mingling;
switch mingling
{
case c//表示创建一个新场次
{
int mingling;
cin>>mingling;
sale chang1(mingling);
do
char mingling1;//命令符
switch mingling1
{
case m;//买票
{
mingling1.maipiao()//执行相应的买票函数
}
case q1;//退出
{
退出循环
}
}
loop
}
case q;输入q,退出循环
{
break或exit(1);
}
}
case d;
{
打印单场
}
case z;
{
打印总共售票
}
loop
}
以上是一个思路,具体还要看你想要怎么实现,其中也可以在main后面直接建立一个sale的数组
sale changci[cccc];cccc是你准备一天计划放映的场次
cin>>cccc
for (int j=0;j<=cccc;J++)
{
changci[j].chang(j);调用相应的初始化函数
}
这样以后打单场的时候就可以changci[j].tongjidanchang()
创建一个结构
struct weizhi
{
int x;//排号
int y[10];//对应排的座号
}
创建一个类.可根据需要继承或扩展
class sale
{
pravite:
int a;//场次
int b;//本厂总出票
weizhi zuohao[10];//存放座位的结构,这个也可以用数组表示,但这样比较直观
char riqi;//用于存放日期,也可以用其他形式表示,
void sale(int changci)//构造函数
{
this->chang(changci);
}
void sale(void);重载构造函数
public:
int maipiao(void){根据你要实现的情况填写,b+=1,zong+=1}//比如有人买票,可以将现有空座按10*10对应的0和1分别表示空或有人,供顾客挑选,若成功返回1,并使得总票数和单场票数各加1.失败返回0
viod chang(int c)//用于初始化场次
{
b=0;//初始化本厂次的总票数
a=changci;
riqi=系统日期(取值)
for (int i=0;i<=9;i++)//初始化座位
{
zuohao[i].x=i;
for (int j=0;j<=9;j++)
{
zuohao[i].y[j]=0;//初始化全部为0代表空,卖出一个相应变为1
}
}
}
viod tongjidanchang(void){cout<<b<<endl;}//统计单场打印出单场总出票的情况
.......后面省略,自己根据需要写
}
int main{}主函数//不知道你是需要有没有界面的,又是都是命令行的可愿意这样
{
char mingling;//命令符
do
cin>>mingling;
switch mingling
{
case c//表示创建一个新场次
{
int mingling;
cin>>mingling;
sale chang1(mingling);
do
char mingling1;//命令符
switch mingling1
{
case m;//买票
{
mingling1.maipiao()//执行相应的买票函数
}
case q1;//退出
{
退出循环
}
}
loop
}
case q;输入q,退出循环
{
break或exit(1);
}
}
case d;
{
打印单场
}
case z;
{
打印总共售票
}
loop
}
以上是一个思路,具体还要看你想要怎么实现,其中也可以在main后面直接建立一个sale的数组
sale changci[cccc];cccc是你准备一天计划放映的场次
cin>>cccc
for (int j=0;j<=cccc;J++)
{
changci[j].chang(j);调用相应的初始化函数
}
这样以后打单场的时候就可以changci[j].tongjidanchang()
追问
我已经做完了,根据你的思路改了一下,不过你写的构造函数是错的吧,构造函数没有类型的,而且一般写在public里的,分就给你了
追答
是有点错,没注意,你自己改就ok了.主要是思路,编程的思想是最重要的,语言知识工具,有了思想,无论用什么语言都可以写出相应的功能,而语言学习其实就是像学习英语或汉语一样,你会说话,不见得回写文章!
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询