小伙伴们,在经过一段时间的学习,大家就需要做到学以致用啦。下面就通过作业练习,完成如下运行效果图所示的功能吧。
题目要求:
运用已学知识完成“电影院选座系统”,运行效果如演示视频所示。
一、语言和环境
1、实现语言
Objective-C语言
2、环境要求及开发工具
MAC OS、Xcode
二、程序整体要求
1、根据实现所需功能,划分功能模块,设置对应的类,在类中实现相应功能。
2、代码结构要层次分明,逻辑思路清晰严谨,类名变量名规范易懂。
3、代码中出现的属性、方法,适当添加注释。
4、要求Objective-C代码实现、运行结果与提供的效果图结构保持一致。
5、将作业项目形成压缩文件并提交。
三、思路分析:
由运行效果,可以分析出项目中具体包括的功能模块。
1、电影信息类:
类型描述:声明电影信息的相关属性,以及自定义初始化电影信息的方法。
要求:电影信息包括名称、主演、导演、上映时间、影片时长、播放时间。
2、电影票信息类:
类型描述:声明电影票信息的相关属性,以及自定义初始化电影票信息的方法。
要求:电影票信息包括价格、位置的行和列、哪个电影。
3、电影院类:
类型描述:实现卖票的功能。
要求:
1、通过自定义初始化的方法完成电影院对象的初始化。
2、卖票的具体流程操作,请仔细观看效果演示视频。
提示:
1、去除控制台输出运行的时间和项目名称,可以使用如下方法:
#define NSLog(FORMAT, ...) fprintf(stderr,"%s",[[NSString stringWithFormat:FORMAT, ##__VA_ARGS__] UTF8String])
原本控制台会输出如下信息:
2017-01-05 10:28:17.064 MovieTicket[2424:56090]
使用上述的宏定义方法,控制台就不输出这样的信息。
2、接收用户控制台的输入信息可以通过如下代码获取:
// 获取整型数据
NSLog(@"请输入你要观看的电影的编号:");
int userSelect = 0;
scanf("%d",&userSelect);
// 获取字符串类型
NSLog(@"你确定要购买吗? y/n\n");
char ans = 'a';
rewind(stdin);
scanf("%c",&ans);
规范【10分】
> 每个模块都有自己独立的类。
> 类、变量属性、功能方法命名规范。
> 代码结构层次分明。
> 代码书写规范、添加适量注释。
程序整体运行效果【10分】
> 程序正常运行,且满足效果图要求。
电影信息类【22分】
> 能够正确设置电影信息的属性。
> 正确实现自定义电影信息的初始化方法。
电影票信息类【26分】
> 正确设置电影票的相关属性。
> 正确实现自定义电影票信息的初始化方法。
> 声明实现打印当前电影票信息的方法。
电影院类【32分】
> 正确实现自定义电影院对象的初始化方法。
> 声明实现电影院卖票的方法。