影院售票系统

来源:互联网 发布:windows 10 远程桌面 编辑:程序博客网 时间:2024/04/28 05:42




//

// 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=[[Cinemaalloc]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/27.

//  Copyright (c) 2015 niit. All rights reserved.

//

 

#import<Foundation/Foundation.h>

 

@interface Commom :NSObject

//名称

@propertyNSString* name;

//时长

@propertyint longTime;

//主演

@propertyNSString* actor;

//导演

@propertyNSString* director;

//上映时间

@propertyNSString*showTime;

//编号

@propertyint 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

//排数

@propertyint  rowNum;

//座位号

@propertyint colNum;

//地点

@propertyNSString* place;

 

//开始时间

@propertyNSString* 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

//票价

@propertyfloat price;

//影票编号

@propertyint 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 ROW7

#define COL15

//定义一个全局变量,保存编号

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);

           }elseif (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);

           }elseif (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





0 0
原创粉丝点击