黑那程序员——OC实战——电影院买票系统
来源:互联网 发布:编程C 最大公约数 编辑:程序博客网 时间:2024/05/01 15:22
——- android培训、java培训、期待与您交流! ———-
今天看完了教学视频中的OC部分,最后的课程老师讲了一个实例的题,就是模拟电影院购票的系统。在自己简单些了一个小程序之后,再听了老师的解法,自己融合老师讲的和自己理解的内容,写了一个改进版的程序。
程序代码如下
mian.h文件
#import <Foundation/Foundation.h>#import "Cinema.h"int main(int argc, const char * argv[]) { @autoreleasepool { Cinema *C1=[[Cinema alloc]initWithcinema:@"搞基圣地"]; //初始化对象的属性 printf("**************************************\n");printf("******欢迎使用基佬专用电影票购票系统*******\n");printf("**************************************\n"); while (1) { //利用循环,将购票行为可以循环进行 printf("是否开始购票?\n1.是 0.否\n"); int flag; scanf("%d",&flag); if (flag==1) { //判断输入内容 [C1 printmovie]; //调用购票的实力方法 }else if (flag==0){ break; }else{ printf("输入有误!\n"); } } printf("谢谢您的使用\n"); } return 0; }
Cinema.h文件
#import <Foundation/Foundation.h>#import "MovieTicket.h"@interface Cinema : NSObject{ NSString *_cinema; MovieTicket *_movt[5];}//初始化init-(instancetype)initWithcinema:(NSString*)name;//列出电影播放安排-(void)printmovie;//选择电影-(void)chosemovie;//选择座位-(void)choseseat;//选择第几排-(void)chosepai;//选择第几列-(void)choselie;//确认位置-(void)queren;//支付-(void)pay;//出票-(void)printticket;@end
Cinema.m文件
#import "Cinema.h"int NOMBER;int PAI,LIE;@implementation Cinema//初始化init-(instancetype)initWithcinema:(NSString*)name{ if (self=[super init]) { _cinema=name; //MovieTicket *_mt[5] for (int i=0; i<5; i++) { MovieTicket *mt=[MovieTicket new]; mt.name=@"放映电影"; mt.place=name; mt.starttime=[NSString stringWithFormat:@"%02d:00",i+1]; mt.duration=@"120min"; mt.no=i+1; mt.moviename=[NSString stringWithFormat:@"精肛互撸娃%02d",i+1]; mt.director=@"激情四射狼"; mt.actor=@"bigbaby"; mt.price=100; _movt[i]=mt; } } return self;}//列出电影播放安排-(void)printmovie{ for (int i=0; i<5; i++) { NSLog(@"\n\nNO.%d\n电影名:%@ \n导演:%@ 主演:%@ \n电影时长:%@ 开场时间:%@ \n票价:%.2f\n\n",_movt[i].no,_movt[i].moviename,_movt[i].director,_movt[i].actor,_movt[i].duration,_movt[i].starttime,_movt[i].price); }; [self chosemovie];}//选择电影-(void)chosemovie{ printf("请选择电影编号!\n"); scanf("%d",&NOMBER); if (NOMBER>0&&NOMBER<6) { NSLog(@"\n\n您已成功选择:%@",_movt[NOMBER-1].moviename); [self choseseat]; }else { printf("输入非法,请重新选择!\n"); [self chosemovie]; };}//选择座位-(void)choseseat{ printf("座位信息如下,'+'为可选座位,'-'为已售出座位\n"); for (int i=-1; i<15; i++) { for (int j=-1; j<15; j++) { if (i==-1) { printf(" %02d ",j+1); }else if (j==-1){ printf(" %02d ",i+1); }else{ if (_movt[NOMBER]->_seat[i][j]==0) { printf(" + "); }else if(_movt[NOMBER]->_seat[i][j]==1){ printf(" - "); } } } printf("\n"); } [self chosepai];}//选择第几排-(void)chosepai{ printf("请选择第几排\n"); scanf("%d",&PAI); if (PAI>0&&PAI<16) { _movt[NOMBER-1].pai=PAI; printf("您已成功选择第%d排\n",PAI); [self choselie]; }else{ printf("输入非法,请重新选择!\n"); [self chosemovie]; };}//选择第几列-(void)choselie{ printf("请选择第几列\n"); scanf("%d",&LIE); if (LIE>0&&LIE<16) { _movt[NOMBER-1].lie=LIE; printf("您已成功选择第%d列\n",LIE); [self queren]; }else{ printf("输入非法,请重新选择!\n"); [self choselie]; };}//确认位置-(void)queren{ int i; printf("您选择的是:第%d排,第%d列\n确认:1 取消:0\n",_movt[NOMBER-1].pai,_movt[NOMBER-1].lie); scanf("%d",&i); if (i==1) { _movt[NOMBER]->_seat[_movt[NOMBER-1].pai-1][_movt[NOMBER-1].lie-1]=1; printf("确认成功!\n"); [self pay]; }else if (i==0){ printf("取消成功,程序即将退出。。。\n"); return; }else { printf("输入非法,请重新选择!\n"); [self queren]; }}//支付-(void)pay{ printf("支付中。。。。\n"); printf("支付成功\n"); [self printticket];}//出票-(void)printticket{ NSLog(@"\n您的票:\n\n电影名:%@ \n导演:%@ 主演:%@ \n电影时长:%@ 开场时间:%@ \n票价:%.2f\n第%d排,第%d列\n\n",_movt[NOMBER-1].moviename,_movt[NOMBER-1].director,_movt[NOMBER-1].actor,_movt[NOMBER-1].duration,_movt[NOMBER-1].starttime,_movt[NOMBER-1].price,_movt[NOMBER-1].pai,_movt[NOMBER-1].lie);}@end
Common.h文件
#import <Foundation/Foundation.h>@interface Common : NSObject{ @public
Common.m文件
#import "Common.h"@implementation Common@end
Ticket.h文件
#import "Common.h"@interface Ticket : Common//开始时间@property NSString *starttime;//持续时间@property NSString *duration;//座位位置@property int pai;@property int lie;@end
Common.m文件
#import "Ticket.h"@implementation Ticket@end
MovieTicket.h文件
#import "Ticket.h"@interface MovieTicket : Ticket//编号@property int no;//电影名@property NSString *moviename;//导演@property NSString *director;//主演@property NSString *actor;//票价@property float price;//打印票-(void)printMovieTicket;@end
MovieTicket.m文件
#import "MovieTicket.h"@implementation MovieTicket-(void)printMovieTicket{ NSLog(@"打印票信息");}@end
以上就是我写的程序,也算是这些天学习oc的一个小成果。
分享给大家。
0 0
- 黑那程序员——OC实战——电影院买票系统
- oc编程:电影院买票系统2-----代码实现
- Android线程—买票demo
- 黑马程序员——黑苹果的日记(11)—— oc加强
- 黑马程序员——黑苹果的日记(8)——oc基础之类和对象
- 低成本oc开发的最终解决方案——黑苹果
- JAVA进阶6.6——买票问题
- SSL 1464——排队买票
- Java多线程基础—买票案例
- 电影院买票问题->排队找钱
- Java线程模仿电影院买票
- 黑码程序员——异常
- 黑马程序员——OC—OC中的面向对象
- 黑马程序员——OC---OC特有语法01
- 黑马程序员——OC---OC特有语法02
- 黑马程序员——OC基础---OC特有语法
- 黑马程序员——OC基础---简单的OC程序
- 黑马程序员——OC学习笔记01 OC基础知识。
- Mysql中下划线表示匹配任意字符
- odb访问
- tar常用解压命令使用
- 在jsp中嵌入Java以及jsp中变量表达式值的输出
- java进阶(一)------java编程规范---命名约定
- 黑那程序员——OC实战——电影院买票系统
- MyBatis之SQL语句映射文件增删改查和Java参数如何对应
- 代码优化-之-优化条件分支
- oracle jdbc fetchsize取值对性能的影响
- STM32 Bootloader软件设计
- 对冒泡排序的改进
- Linux线程
- Android点击事件的分发
- 制作Mac系统启动U盘 Omz~~