首页 > 其他 > 详细

OC代码实现的购票系统

时间:2015-12-13 00:33:47      阅读:211      评论:0      收藏:0      [点我收藏+]

一.一个有关oc实现的购票系统

    此次的购票系统主要是通过OC来编程的,下面我将把握的思路和大家分享.

   1.思路.

   我们直接来看我写的几张思路图吧.上面都写的很明白,下面的主要思路就是大致的方向.

   技术分享       

#import <Foundation/Foundation.h>
#import "Cinema.h"
void buyMovieTicket(){
    //调用  电影院的类的  buyTicket的方法
    Cinema *cinema = [[Cinema alloc] initWithCinemaName:@"xx影院"];
     //开始购票
    [cinema buyTicket];
}
void buySongTicket(){

}
int main(int argc, const char * argv[]) {
    @autoreleasepool {
         //打印欢迎信息
        printf("************欢迎使用购票系统**************\n\n");
        //提示用户选择
        printf("您可以使用购票系统购买:1,电影票 2,演唱会\n");
        int num;
        scanf("%d",&num);
        //当用户选择不同的功能,调用不同的函数
        if (num==1) {
            buyMovieTicket();
        }else if(num==2){
            buySongTicket();
        }
    }
    return 0;
}

 

   这是第一步:

   技术分享

#import "Cinema.h"
#define ROW 8
#define COL  18
int selectno;
@implementation Cinema
-(instancetype)initWithCinemaName:(NSString*)name{
    if (self=[super init]) {
        _cinemaName = name;
        //给电影票的数组初始化
        for (int i=0; i<5; i++) {
            moveTiclket* trickets=[moveTiclket new];
            trickets.name=[NSString stringWithFormat:@"程冠希%02d",i+1];
            trickets.longTime=120;//时长
            trickets.actor=@"xxxxxx";//主演
            trickets.director=@"jjjjj";//导演
            trickets.showtime=[NSString stringWithFormat:@"201%d-12-12",i];//上映时间
            trickets.no=[NSString stringWithFormat:@"%d",i+1 ];
            trickets.starTime=[NSString stringWithFormat:@"1%d:00",i];
            trickets.price=35.5f;
            trickets.place=[NSString stringWithFormat:@"影厅%02d",i+1];
            tickets[i] = trickets;
        }
    }
    return self;
}
//开始购票
-(void)buyTicket{
    NSLog(@"\n欢迎来到%@,我们将为您带来优质的观看体验!\n正在进入购票系统中,请等待.....!\n",_cinemaName);
    printf("您已成功进入购票系统,正在上映的电影如下:\n");
    [self list];
}
//显示正在上映的电影票
-(void)list{
    //打印电影信息
    //数组遍历
    for (int i=0; i<5; i++) {
        NSLog(@"\n\n电影名:%@\t\t\t时长:%d\n导演:%@\t\t\t\t主演:%@\t\n上映时间:%@\t\t编号:%@\n电影播放时间:  %@\n\n\n",tickets[i].name,tickets[i].longTime,tickets[i].actor,tickets[i].director,tickets[i].showtime,tickets[i].no,tickets[i].starTime);
    }
    [self selecMovie];
} 

   第二步:

   技术分享

   

//选择一张电影票
-(void)selecMovie{
    printf("请选择你要看的电影:\n");
    int num;
    scanf("%d",&num);
    if (num<1||num>4) {
        return;
    }else{
        selectno = num;
        NSLog(@"\n您选择的电影是:%@\n",tickets[selectno-1].name);
    }
    [self selectRow];
}

 

 

   第三步:

   技术分享

  

//选择排数
-(void)selectRow{
    printf("影院座位共:%d排,一排有%d个座位,影院座位布局如下图:\n",ROW-1,COL-1);
    for (int i=0; i<ROW; i++) {
        for (int j=0; j<COL; j++) {
            if (i==0) {
                printf("%02d ",j);
            }else if(j==0){
                printf("%02d ",i);
            }else{
                printf(" + ");
            }
        }
        printf("\n");
    }
    printf("请选择排数:\n");
    int num;
    scanf("%d",&num);
    if (num<1||num>7) {
        return;
    }else{
        printf("您已选择了第%d排,请选择座位号:\n",num);
        tickets[selectno-1].rowNum=num;
        [self selectCol];
    }
}
//选择座位号
-(void)selectCol{
    int num;
    scanf("%d",&num);
    if (num<1||num>17) {
        return;
    }else{
        printf("您已选择了第%d座,选座成功.\n请查看您观看影片的座位分布位置!!\n",num);
        tickets[selectno-1].colNum=num;
        
    }
    for (int i=0; i<ROW; i++) {
        for (int j=0; j<COL; j++) {
            if (i==0) {
                printf("%02d ",j);
            }else if(j==0){
                printf("%02d ",i);
            }else if((i==tickets[selectno-1].rowNum)&&j==(tickets[selectno-1].colNum)){
                printf(" @ ");
            }else
                printf(" + ");
        }
        printf("\n");
    }
    [self pay];
}

 

  

#import <Foundation/Foundation.h>
#import "moveTiclket.h"
@interface Cinema : NSObject
{
    //电影院的名称
    NSString *_cinemaName;
    //票的集合
    moveTiclket* tickets[5];
    
}
-(instancetype)initWithCinemaName:(NSString*)name;
//开始购票
-(void)buyTicket;
//显示正在上映的电影票
-(void)list;
//选择一张电影票
-(void)selecMovie;
//选择座位
//选择排数
-(void)selectRow;
//选择座位号
-(void)selectCol;
//开始支付
-(void)pay;
//出票(打印票)
-(void)printTicket;

@end

 

   第四步:

  技术分享

  

//开始支付
-(void)pay{
    printf("购票操作已完成!!\n请确认已购买电影票信息...!\n");
    NSLog(@"\n\n您选择的电影名:%@\t\t影厅:%@\n第%d排%d座\n电影播放时间:%@\n票价:%.2f\n\n",tickets[selectno-1].name,tickets[selectno-1].place,tickets[selectno-1].rowNum,tickets[selectno-1].colNum,tickets[selectno-1].starTime,tickets[selectno-1].price);
    printf("请确认以上信息,无误后请选择是否付款:1.继续 0.退出\n");
    int num;
    scanf("%d",&num);
    if (num==0) {
        return;
    }else if(num==1)
        
        [self printTicket];
}
//出票(打印票)
-(void)printTicket{
    printf("请支付.....\n");
    printf("已完成支付!\n欢迎购买!\n");
}
@end

 

  第五步:

  2.最后

   太繁琐了,大家看看就好.还有一些步骤省略了,希望大家多包涵.

  

  

OC代码实现的购票系统

原文:http://www.cnblogs.com/yuluoluoluo/p/5042055.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!