您的位置:首页 > 其它

影院售票系统

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: