你们都爱看电影,现请参考一个熟悉电影票预订系统,实现C语言版的订票系统。了解订票如何实现的。系统主要有2类用户:管理员用户和顾客用户。数组
选择该菜单能展现全部放映厅,用户输入某个放映厅编号后,能实现对放映厅增长、删除、修改功能。主要对movie_house.txt数据修改。 放映厅主要字段信息有: 放映厅编号、放映厅名称、放映厅行数、放映厅列数、放映厅座位初始状态。 假如放映厅是一个10行10列座位安排,其初始状态能够生成一个二维数组house[10][10]={0,1,2,0,0},存储座位状态 。0表示未定、1表示已定、2表示不能定。初始时候应该只有0,2两种状态。
实现对movie.txt数据增删改及查找。答辩务必演示增删改操做,对于已存在场次能提示不得修改。不存在场次不能删除等容错处理。修改和添加记录时候,一个放映厅一个时段只能排1部电影。若超过要提示不能修改。 movie.txt主要字段有: 电影场次编号、电影名称、播放日期、播放时间段、所在放映厅、放映厅座位当前状态。 (1)放映厅位置当前状态,表示当前位置购票状况,如house[10][10]={0,1,2,0,0}。其中: 0表示未定座位、1表示已定座位、2表示不能定座位。 (2)当前状态初始值应该是从movie_house.txt读取放映厅座位初始状态。
操做步骤以下: (1)展现当前时间段后可看的电影场次信息。(注意时间,必定是当前时间段后的电影信息) (2)顾客输入输入观看电影名称和时间段,展现目前厅内位置信息。注意用矩阵方式显示位置信息,每行10列左右,具体本身设计。位置信息在电影信息文件即movie.txt查看位置状态信息。0表示可预订用绿色表示,1表示不能定用红色标识,2不可订可用灰色表示。这块建议图形化展现。 (3)若该场次无位置,提示选择其余电影场次。如有位置,继续下面操做: * 选择1人位置,输入行列位置编号后,若当前位置可选,生成订单,写入订票信息文件movie_order.txt,更新movie.txt中座位状态。若当前位置已定或不可选,提示错误信息。屏幕座位状态能实时更新。 * 选择多人位置,输入人数及行列位置编号后,实现座位选择,屏幕实时更新。(选作) 位置编号从1---位置中数量编号。 * 订单生成后能计算总票价。
展现全部历史订票信息,而后可删除未看的电影订单。(选作) 注意删除订单后,相应电影场次中位置信息状态也要修改。
(1)放映厅信息文件:movie_house.txt。字段: 放映厅编号、放映厅名称、放映厅行数、放映厅列数、放映厅座位初始状态。 (2)电影场次信息文件movie.txt。字段有: 电影场次编号、电影名称、该场次电影单价、播放日期、播放时间段、所在放映厅、放映厅座位当前状态。 (3)电影订单信息文件movie_order.txt。字段有: 顾客编号、电影名称、购买数量、购买座位、总金额、购买时间。 购买座位: [1,1],[25,3]。表示购买2个座位,一个是第一行第一列,一个是第25行第三列。 (4)顾客帐号文件customer.txt,自建。包括:顾客编号、密码。 (5)影院管理员帐号manager.txt,自建。包括:管理员编号、密码。
(1)系统演示时候必须保证文件内至少有50行数据。 (2)系统必须具有容错处理。没有位置、没有电影等都要出错处理及提醒。 (3)系统交互性要好,操做简单好用。 (4)有能力同窗能够扩展系统功能,如导入easyx库,加入图片。系统交互性更好。电影放映厅等状态改进。
1.ManagerLogin 函数
该函数用于管理员登陆(默认管理员不能注册)框架
2.CustomerLogin函数
该函数用于用户登陆及注册函数
3.ReadManagerFile 及 ReadCustomerFile函数
这两个函数主要用于计算manager.txt中的管理员数和customer.txt中的用户数。
在用户登录时,根据计算得出的数量来检索输入的用户名及密码是否存在
(当时文件那块儿理解的不是很透彻,如今想一想这两个函数纯属多余,直接用feof()函数判断是否到文件尾就行了)学习
1.Create_House_Doc函数
该函数用于建立放映厅链表,将movie_house.txt中的数据建成链表,以便实现管理员的放映厅管理功能设计
2.Insert_House_Doc函数
该函数用于建立放映厅链表的链接,及实现管理员在放映厅管理中增长放映厅的功能3d
3.Print_House_Doc函数
该函数用于遍历放映厅链表,并以表格的形式输出movie_house.txt中的放映厅信息调试
4.Delete_House_Doc函数
该函数用于删除放映厅数据code
5.Alter_House_Doc函数
改函数用于修改已有放映厅的信息blog
6.InHouseFile函数
该函数用于将修改后的链表从新写入movie_house.txt文件中,实现文件的更新图片
1.Print_After_Movie 函数
显示当前时间以后的电影,供用户选择
2.Printf_MovieChoice 函数
该函数用于用户选择完想看的电影后,输出改电影当前时间后的全部场次信息
3.Print_MovieSeat 函数
该函数用于打印用户所选场次的电影的座位信息
增长放映厅
删除放映厅
修改放映厅
增长电影
删除电影
修改电影
刚开始的时候,我想着学习一下EasyX,来实现座位信息的生成,结果,事实告诉咱们,一个星期连课设都快搞不定了,更别说学EasyX了。 一开始的时候,我是想着用数组来作的,当时以为删除那块儿的用数组作特别麻烦,而后就想着说用链表作。然而,链表又不太会用,就一边翻书,一边打代码。刚开始的时候,是花费了不少的时间,到后面,链表的那块儿内容直接均可以复制黏贴。 当时先作的是管理员的那个部分,因此相对于用户,管理员的部分作的相对要完善一些。而后,一个星期的时间真的有点点短,我里头的功能其实并不完善,就像选作中的删除功能就没有实现,系统的容错性也作的不完善。 此次的课设真的是很是的费脑、费时。可是,当你实现了一个又一个的功能后,你就会有一种成就感跟知足感。课上学的东西应用在这,只是基础中的基础,要想实现各个功能必需要本身去查找资料,能够说课设就是巩固课堂上学习的知识,学习课堂上所没有的知识的一个过程。作课设的时候,能够先把框架代码先写好,而后再一步步的完善各个函数功能。在写函数的时候,写好一个函数就应该调试一下这个函数功能是否实现,否则,等到全部代码都完成了再去调试,在查找错误方面就会很是的麻烦。