影院售票系统
2015-08-03 09:09
162 查看
//
//
main.m
// CinemaSystem
//
// Created by niit on 15/7/27.
// Copyright (c) 2015年 niit. All rights reserved.
//
#import
<Foundation/Foundation.h>
#import
"Cinema.h"
//购买电影票
void buyMovieTicket(){
Cinema * cinema=[[Cinema
alloc]initWithCinemaName:@"万达影城"];
[cinema
buyTicket];
}
//购买演唱会门票
void buySongTicket(){
}
int main(intargc,
const char* argv[]) {
@autoreleasepool {
//打印欢迎信息
printf(
"************欢迎使用影院购票系统V1.0************\n");
//提示用户选择
printf("欢迎使
用影院购票系统购买:1.电影票 2.影迷见面门票\n");
//当用户选择不同的功能,调用不同的函数
int num ;
scanf("%d",&num);
if(num==1){
buyMovieTicket();
}
else if(num==2 ){
buySongTicket();
}
else{
printf("输入错误,不在选择范围内,请重新输入\n");
}
//在函数中创建对象,开始购票
}
return 0;
}
//
//
Commom.h
// OC
//
// Created by niit on 15/7/2
4000
7.
// Copyright (c) 2015年 niit. All rights reserved.
//
#import
<Foundation/Foundation.h>
@interface Commom :
NSObject
//名称
@property
NSString* name;
//时长
@property
int longTime;
//主演
@property
NSString* actor;
//导演
@property
NSString* director;
//上映时间
@property
NSString*showTime;
//编号
@property
int no;
@end
//
//
Commom.m
// OC
//
// Created by niit on 15/7/27.
// Copyright (c) 2015年 niit. All rights reserved.
//
#import
"Commom.h"
@implementation Commom
@end
//
//
Ticket.h
// OC
//
// Created by niit on 15/7/27.
// Copyright (c) 2015年 niit. All rights reserved.
//
#import
"Commom.h"
@interface Ticket :
Commom
//排数
@property
int rowNum;
//座位号
@property
int colNum;
//地点
@property
NSString* place;
//开始时间
@property
NSString* startTime;
-(void)printTicket;
@end
//
// Ticket.m
// OC
//
// Created by niit on 15/7/27.
// Copyright (c) 2015年 niit. All rights reserved.
//
#import
"Ticket.h"
@implementation Ticket
-(void)printTicket{
NSLog(@"打印票的信息");
}
@end
//
// MovieTicket.h
// OC
//
// Created by niit on 15/7/27.
// Copyright (c) 2015年 niit. All rights reserved.
//
#import
"Ticket.h"
@interface MovieTicket :
Ticket
//票价
@property
float price;
//影票编号
@property
int ticketNo;
@end
//
//
MovieTicket.m
// OC
//
// Created by niit on 15/7/27.
// Copyright (c) 2015年 niit. All rights reserved.
//
#import
"MovieTicket.h"
@implementationMovieTicket
@end
//
//
Cinema.h
// OC
//
// Created by niit on 15/7/27.
// Copyright (c) 2015年 niit. All rights reserved.
//
#import
<Foundation/Foundation.h>
#import
"MovieTicket.h"
@interface Cinema :
NSObject{
//电影院的名称
NSString * _cinemaName;
//票的集合
MovieTicket *tickets[5];
}
-(instancetype)initWithCinemaName:(NSString *)name;
//开始购票
-(void)buyTicket;
//显示正在上映的电影
-(void)list;
//选择电影
-(void)selectMovie;
//选择排数
-(void)selectRow;
//选择座位号
-(void)selectCol;
//开始支付
-(void)pay;
//出票
-(void)printTicket;
@end
//
//
Cinema.m
// OC
//
// Created by niit on 15/7/27.
// Copyright (c) 2015年 niit. All rights reserved.
//
#import
"Cinema.h"
#define ROW
7
#define COL
15
//定义一个全局变量,保存编号
int selectNo;
@implementation Cinema
//自定义构造方法
-(instancetype)initWithCinemaName:(NSString *)name{
self=[superinit];
if(self){
//初始化名字
_cinemaName=name;
//电影票数组初始化
for(inti=0;i<5;i++){
MovieTicket *mvticket=[MovieTicket new];
//给对象赋值
mvticket.name=[NSString stringWithFormat:@"变形金刚%d",i+1];
mvticket.longTime=120;
mvticket.actor=@"马克·沃尔伯格,妮可拉·佩尔茨,杰克·莱诺";
mvticket.director=@"迈克尔·贝";
mvticket.no=i+1;
mvticket.showTime=[NSString stringWithFormat:@"200%d-07-11",i+1];
mvticket.startTime=[NSString stringWithFormat:@"1%d:00",i+1];
mvticket.price=19.9f;
mvticket.place=[NSString stringWithFormat:@"影厅%d",i+1];
//把对象存到数组中
tickets[i]=mvticket;
}
}
return self;
}
//开始购票
-(void)buyTicket{
NSLog(@"开始购票");
[self list];
}
//显示正在上映的电影
-(void)list{
NSLog(@"显示正在上映的电影");
for(int i=0;i<5;i++){
NSLog(@"\n\n编号:%d
名称:%@
导演:%@
时长:%d分钟
上映时间:%@\n主演:%@
开始时间:%@\n ",tickets[i].no,tickets[i].name,tickets[i].director,tickets[i].longTime,tickets[i].showTime,tickets[i].actor,tickets[i].startTime);
}
[self selectMovie];
}
//选择电影
-(void)selectMovie{
printf("请选择观看的电影编号:\n");
int num;
scanf("%d",&num);
if(num<0||num>5) {
return ;
}
else{
selectNo=num;
NSLog(@"您已经选择了影片:%@",tickets[selectNo-1].name);
}
[self selectRow];
}
//选择排数
-(void)selectRow{
printf("当前影厅共有:%d排,每排有%d座位\n",ROW,COL);
for(int i=-1;i<ROW;i++){
for(intj=-1;j<COL;j++) {
if(i==-1){
printf("%02d",j+1);
}else
if (j==-1){
printf("%02d",i+1);
}
else{
printf(" * ");
}
}
printf("\n");
}
printf("请选择排数:\n");
int num;
scanf("%d",&num);
if(num<0||num>7){
return;
}
else{
tickets[selectNo-1].rowNum=num;
}
[self selectCol];
}
//选择座位号
-(void)selectCol{
printf("您已经选择了%d排,请选择座位号\n",tickets[selectNo-1].rowNum);
int num;
scanf("%d",&num);
if(num<0||num>15){
return;
}
else{
tickets[selectNo-1].colNum=num;
}
NSLog(@"\n您选择的影片是:\n%@,开始时间:%@,票价:%.2f",tickets[selectNo-1].name,tickets[selectNo-1].startTime,tickets[selectNo-1].price);
printf("排数%d,座位号%d,以下是您的座位示意图:\n",tickets[selectNo-1].rowNum,tickets[selectNo-1].colNum);
for(int i=-1;i<ROW;i++){
for(intj=-1;j<COL;j++){
if(i==-1){
printf("%02d ",j+1);
}else
if (j==-1){
printf("%02d",i+1);
}
else if(i==(tickets[selectNo-1].rowNum-1)&&j==(tickets[selectNo-1].colNum-1)){
printf(" + ");
}
else{
printf(" * ");
}
}
printf("\n");
}
printf("请确认:1.确认
2.取消\n");
int flag;
scanf("%d",&flag);
if(flag==1){
[self pay];
}
return;
}
//开始支付
-(void)pay{
NSLog(@"\n开始支付....\n支付已完成....");
[self printTicket];
}
//出票
-(void)printTicket{
printf("------------出票------------\n");
NSLog(@"\n恭喜你,购票成功!您观看的影片是:\n%@,开始时间:%@,票价:%.2f,%@",tickets[selectNo-1].name,tickets[selectNo-1].startTime,tickets[selectNo-1].price,tickets[selectNo-1].place);
printf("排数%d,座位号%d\n",tickets[selectNo-1].rowNum,tickets[selectNo-1].colNum);
}
@end
//
main.m
// CinemaSystem
//
// Created by niit on 15/7/27.
// Copyright (c) 2015年 niit. All rights reserved.
//
#import
<Foundation/Foundation.h>
#import
"Cinema.h"
//购买电影票
void buyMovieTicket(){
Cinema * cinema=[[Cinema
alloc]initWithCinemaName:@"万达影城"];
[cinema
buyTicket];
}
//购买演唱会门票
void buySongTicket(){
}
int main(intargc,
const char* argv[]) {
@autoreleasepool {
//打印欢迎信息
printf(
"************欢迎使用影院购票系统V1.0************\n");
//提示用户选择
printf("欢迎使
用影院购票系统购买:1.电影票 2.影迷见面门票\n");
//当用户选择不同的功能,调用不同的函数
int num ;
scanf("%d",&num);
if(num==1){
buyMovieTicket();
}
else if(num==2 ){
buySongTicket();
}
else{
printf("输入错误,不在选择范围内,请重新输入\n");
}
//在函数中创建对象,开始购票
}
return 0;
}
//
//
Commom.h
// OC
//
// Created by niit on 15/7/2
4000
7.
// Copyright (c) 2015年 niit. All rights reserved.
//
#import
<Foundation/Foundation.h>
@interface Commom :
NSObject
//名称
@property
NSString* name;
//时长
@property
int longTime;
//主演
@property
NSString* actor;
//导演
@property
NSString* director;
//上映时间
@property
NSString*showTime;
//编号
@property
int no;
@end
//
//
Commom.m
// OC
//
// Created by niit on 15/7/27.
// Copyright (c) 2015年 niit. All rights reserved.
//
#import
"Commom.h"
@implementation Commom
@end
//
//
Ticket.h
// OC
//
// Created by niit on 15/7/27.
// Copyright (c) 2015年 niit. All rights reserved.
//
#import
"Commom.h"
@interface Ticket :
Commom
//排数
@property
int rowNum;
//座位号
@property
int colNum;
//地点
@property
NSString* place;
//开始时间
@property
NSString* startTime;
-(void)printTicket;
@end
//
// Ticket.m
// OC
//
// Created by niit on 15/7/27.
// Copyright (c) 2015年 niit. All rights reserved.
//
#import
"Ticket.h"
@implementation Ticket
-(void)printTicket{
NSLog(@"打印票的信息");
}
@end
//
// MovieTicket.h
// OC
//
// Created by niit on 15/7/27.
// Copyright (c) 2015年 niit. All rights reserved.
//
#import
"Ticket.h"
@interface MovieTicket :
Ticket
//票价
@property
float price;
//影票编号
@property
int ticketNo;
@end
//
//
MovieTicket.m
// OC
//
// Created by niit on 15/7/27.
// Copyright (c) 2015年 niit. All rights reserved.
//
#import
"MovieTicket.h"
@implementationMovieTicket
@end
//
//
Cinema.h
// OC
//
// Created by niit on 15/7/27.
// Copyright (c) 2015年 niit. All rights reserved.
//
#import
<Foundation/Foundation.h>
#import
"MovieTicket.h"
@interface Cinema :
NSObject{
//电影院的名称
NSString * _cinemaName;
//票的集合
MovieTicket *tickets[5];
}
-(instancetype)initWithCinemaName:(NSString *)name;
//开始购票
-(void)buyTicket;
//显示正在上映的电影
-(void)list;
//选择电影
-(void)selectMovie;
//选择排数
-(void)selectRow;
//选择座位号
-(void)selectCol;
//开始支付
-(void)pay;
//出票
-(void)printTicket;
@end
//
//
Cinema.m
// OC
//
// Created by niit on 15/7/27.
// Copyright (c) 2015年 niit. All rights reserved.
//
#import
"Cinema.h"
#define ROW
7
#define COL
15
//定义一个全局变量,保存编号
int selectNo;
@implementation Cinema
//自定义构造方法
-(instancetype)initWithCinemaName:(NSString *)name{
self=[superinit];
if(self){
//初始化名字
_cinemaName=name;
//电影票数组初始化
for(inti=0;i<5;i++){
MovieTicket *mvticket=[MovieTicket new];
//给对象赋值
mvticket.name=[NSString stringWithFormat:@"变形金刚%d",i+1];
mvticket.longTime=120;
mvticket.actor=@"马克·沃尔伯格,妮可拉·佩尔茨,杰克·莱诺";
mvticket.director=@"迈克尔·贝";
mvticket.no=i+1;
mvticket.showTime=[NSString stringWithFormat:@"200%d-07-11",i+1];
mvticket.startTime=[NSString stringWithFormat:@"1%d:00",i+1];
mvticket.price=19.9f;
mvticket.place=[NSString stringWithFormat:@"影厅%d",i+1];
//把对象存到数组中
tickets[i]=mvticket;
}
}
return self;
}
//开始购票
-(void)buyTicket{
NSLog(@"开始购票");
[self list];
}
//显示正在上映的电影
-(void)list{
NSLog(@"显示正在上映的电影");
for(int i=0;i<5;i++){
NSLog(@"\n\n编号:%d
名称:%@
导演:%@
时长:%d分钟
上映时间:%@\n主演:%@
开始时间:%@\n ",tickets[i].no,tickets[i].name,tickets[i].director,tickets[i].longTime,tickets[i].showTime,tickets[i].actor,tickets[i].startTime);
}
[self selectMovie];
}
//选择电影
-(void)selectMovie{
printf("请选择观看的电影编号:\n");
int num;
scanf("%d",&num);
if(num<0||num>5) {
return ;
}
else{
selectNo=num;
NSLog(@"您已经选择了影片:%@",tickets[selectNo-1].name);
}
[self selectRow];
}
//选择排数
-(void)selectRow{
printf("当前影厅共有:%d排,每排有%d座位\n",ROW,COL);
for(int i=-1;i<ROW;i++){
for(intj=-1;j<COL;j++) {
if(i==-1){
printf("%02d",j+1);
}else
if (j==-1){
printf("%02d",i+1);
}
else{
printf(" * ");
}
}
printf("\n");
}
printf("请选择排数:\n");
int num;
scanf("%d",&num);
if(num<0||num>7){
return;
}
else{
tickets[selectNo-1].rowNum=num;
}
[self selectCol];
}
//选择座位号
-(void)selectCol{
printf("您已经选择了%d排,请选择座位号\n",tickets[selectNo-1].rowNum);
int num;
scanf("%d",&num);
if(num<0||num>15){
return;
}
else{
tickets[selectNo-1].colNum=num;
}
NSLog(@"\n您选择的影片是:\n%@,开始时间:%@,票价:%.2f",tickets[selectNo-1].name,tickets[selectNo-1].startTime,tickets[selectNo-1].price);
printf("排数%d,座位号%d,以下是您的座位示意图:\n",tickets[selectNo-1].rowNum,tickets[selectNo-1].colNum);
for(int i=-1;i<ROW;i++){
for(intj=-1;j<COL;j++){
if(i==-1){
printf("%02d ",j+1);
}else
if (j==-1){
printf("%02d",i+1);
}
else if(i==(tickets[selectNo-1].rowNum-1)&&j==(tickets[selectNo-1].colNum-1)){
printf(" + ");
}
else{
printf(" * ");
}
}
printf("\n");
}
printf("请确认:1.确认
2.取消\n");
int flag;
scanf("%d",&flag);
if(flag==1){
[self pay];
}
return;
}
//开始支付
-(void)pay{
NSLog(@"\n开始支付....\n支付已完成....");
[self printTicket];
}
//出票
-(void)printTicket{
printf("------------出票------------\n");
NSLog(@"\n恭喜你,购票成功!您观看的影片是:\n%@,开始时间:%@,票价:%.2f,%@",tickets[selectNo-1].name,tickets[selectNo-1].startTime,tickets[selectNo-1].price,tickets[selectNo-1].place);
printf("排数%d,座位号%d\n",tickets[selectNo-1].rowNum,tickets[selectNo-1].colNum);
}
@end
相关文章推荐
- 获得一个月的第一天与最后一天
- 杭电ACM2039java做法
- UVALive 3708 Graveyard
- Java的单链表与双向链表的实现
- 【Dijkstra】POJ1062-昂贵的聘礼
- 解决RHEV上传安装源( engine-iso-uploader)异常出错问题解决方案
- hadoop集群默认配置和常用配置
- HDOJ 1280 前m大的数(时间优化)
- ie6-ie8中不支持opacity透明度的解决方法
- 【转】获取命名空间、类名、方法名
- 关于旗正规则引擎中的MD5加密问题
- 扩展方法为我们带来了什么
- Swift-ReactiveCocoa3.0(二)SignalProducer
- 人这一辈子
- 5个超棒的HTML5框架
- HTTP中header的信息讲解以及设置
- vb.net和c#的区别
- Java基础加强
- [leetcode-51]N-Queens(java)
- C# StopWatch 类