.
第一大模块:录入放映信息。
录入信息模块为其他模块的基础,没有录入放映信息就不可能浏览放映信息,不可能按日期和电影名称查询电影,更不能买票和退票了。
第二大模块:浏览放映信息。
这个模块中需要用到时间函数,判断是否放映时间大于系统时间,若是就输出放映信息,否则输出已经放映结束的提示信息。
第三大模块:按日期和电影名查询。
1. 按日期查询,需要输入一个日期,若该日期与存储的信息相同则判断系统时间是否大于此日期,若大于则显示提示放映结束的信息,否则输出放映信息供用户查看。
2. 按电影名查询,输入一个电影名,首先判断是否存在此电影,若存在继续判断是否系统时间大于放映此电影放映时间,若大于则输出提示放映结束的语句,否则输出放映信息供用户查看。
第四大模块:售票和退票。
1. 售票。售票时首先查询电影名以及剩余座位数量,若电影不存在以及没有剩余座位就输出提示无法购买的信息。若以上两者都满足则需要判断是否电影已经放映,若已经放映了也不能售票。只有要买的电影票存在、没有放映且
Word专业资料
.
剩余座位还有才能售票,售票时判断是否是会员,时会员则按折扣售票,否则按原价售票。
2. 退票。退票时需要输入电影名和场次,仍然需要判断两者是否与放映信息匹配,若都满足则还需判断要退票的电影是否已经放映,若已经放映了则无法退票。若可以退票,还需判断是否是会员,若是会员则按会员购买价钱退还,不是会员则按原价退还。
第五大模块:退出系统。
当所需的操作结束后,实现用户退出系统功能。
Word专业资料
.
第三章 数据模型
3.1 相关数据结构的说明
定义了一个类Film_rmember,用来存储记录所录入的信息,并设计它为一个类
数组方便存取数据。为了使主界面在某一操作完成后立即出现,设计了一个while语句体进行条件判断,部设计了if条件判断执行相应的录入、浏览、查询、购票、退票操作。
3.2 类的设计
类Film_rmember设计了公有数据成员和公有成员函数copy(参数),以及显示函数remember_show,把他们设计成类外实现。从主函数录入信息并传值。在浏览、查询、购票、退票时都需要类数组来判断条件,调用类数组所存储的数据。
3.3 程序结构说明,程序各个部分之间如何协调来完成任务
首先在主函数前定义类Film_rmember,以及成员函数的实现,然后再主函数里定义类数组。当进行录入信息时,用for循环来存储信息,并同过copy函数实现对数值的传递存储。当进行浏览信息时需要时间函数的判断,若系统时间超过放映时间则显示放映已经结束,若系统时间小于放映时间则输出所有信息供浏览。当按日期查询时,同样需要用时间函数判断放映时间是否已经超过系统时间,也需要用for循环依次查找。
Word专业资料
.
当按电影名查询时同样需要判断时间,方法同按日期查询差不多。当购票与退票时,同样需要判断显示是否已经放映信息。各部分之间用while语句实现多次循环判断。
3.4 全局变量,重要形式参数、局部变量,它们的命名及用途解释
全局变量
date_year,date_mon,date_day,time_hour,time_min,order,price,numbername[] 等用于输入数值进行传值。Choice则用于选择操作。形参int date2_year,int date2_mon,int date2_day,int time2_hour,int time2_min,int order2,char
name2[20],int price2,int discount2,int left_number2分别表示年、月、日、小时、分钟、场次、电影名,价格,会员折扣,剩余座位数量。局部变量t1,t2,t3等都分别用于for循环。变量命名随结构层次而变化,条理清晰。
Word专业资料
.
第四章 算法描述
4.1 解题算法的设计思路介绍
由于需要判断电影是否放映的条件很多,比如,年,月,日,小时和分钟,而且功能比较全面,所以需要分模块设计。在每一模块中分别详细的判断年月日,以及小时和分钟。
4.2 主要程序代码,加上详细的注释
//头文件:
#include
using namespace std;
#include
//时间函数,time_t是一个在time.h中定义好的结构体。而tm结构体的
原形如下 :
struct
Word专业资料
C++课设--电影院售票管理系统



