课程名称 面向对象综合实验 实验名称_____影院订票系统的设计与实现 实验类型 综合性 实验地点 304机房 实验日期
指导教师 徐华
专 业__软件工程_____ 班 级__软件1601____
学 号__02___ 姓 名___寇春雷______ 成 绩 ______________
辽宁石油化工大学计算机与通信工程学院
目录
一、综合实验的目的 ........................................... 错误!未定义书签。 二、综合实验的内容和要求 ..................................... 错误!未定义书签。 三、实验原理 ................................................. 错误!未定义书签。 三、实验截图 ................................................. 错误!未定义书签。 四、实验分析 ................................................. 错误!未定义书签。 五、实验总结 ................................................. 错误!未定义书签。 六、实验源码 ................................................. 错误!未定义书签。 七、参考文献 ................................................. 错误!未定义书签。
一、综合实验的目的
巩固和加深C++课程的基本知识的理解和掌握,提高综合运用c++知识解决实际问题的能力。
二、综合实验的内容和要求
实现下列功能要求的程序, 并写出实验报告, 报告内容包括:题目、目的、内容和要求、 原理与技术、程序清单、运行情况 ( 输入、输出 )、总结。 . 定义用户信息类User_class:
( 数据成员: 用户名char *name(初始化为个人,即管理员),用户密码 char *posword,联系电话char* tel, 联系地址char *addr
成员函数: 用户注册, 用户登录(验证登录信息是否与为个人, 是,即为管理员, 否则为是一般用户 )
. 定义时间类Time_class:
( 数据成员: int year,month,day) ( 成员函数, 自己自己根据需要确定 ) . 定义影片信息类Film_class:
( 数据成员: 片名 char *moviename,主要演员char *mactor, 上映时间Time_class time,票价double price, 剩余票数 int ticknum) 成员函数, 自己根据需要设置 ) . 定义影票订单类 Torder_class:
( 用户名 *char username, 影片名 *char moviename, 放映时间Time_class ptime,
座号char *seat( 如 “3排4号”), 订票时间Time_class dtime 票价double price )
. 实现用户 和 系统管理员的注册功能, 界面可如下: 输入用户名: 输入密码:
联系电话: 联系地址:
( 保存以上信息, 到用户信息表 )
. 实现用户 或 系统管理员 登录功能, 界面可如下: 输入用户名: 输入密码:
( 验证 用户输入信息是否正确, 正确, 登陆成功 ) . 若是管理员登录, 显示如下菜单, 并实现如下功能:
1. 输入影片信息 2. 显示影片信息 3. 增加影片信息 4. 查找影片 5. 删除影片 6. 显示用户信息 7. 显示用户订单 8. 查找某用户订单 9. 删除某用户订单 . 若是用户登录, 显示如下菜单, 并实现相应的功能:
1. 显示影片信息 2. 查找影片信息 3. 订票 4. 查看订单
三、实验原理
本实验使用vs2012开发环境,使用C++窗口程序设计。
先定义Time_class时间类,User_class用户信息类,Film_class影片信息类, Torder_class订单
类,其中影片信息类,订单类,调用时间类,实现放映时间以及订单时间的使用,这4个实体类 都有相应的get(),set()函数。
Manage控制类,执行逻辑
Boundary边界类,与用户实现信息的输入与输出,边界类调用控制类对象,控制类对象调用控主程序有两个功能,一个是注册,一个是登录。两个功能进入边界类。
制类中的函数,实现相应的功能。
三、实验截图
用户注册页面
用户登录界面
用户功能菜单
查看影片信息
用户订票
管理员功能菜单
查看订单列表
订票信息
修改影片信息
用户信息,影片信息,订单信息储存在当前文件下
四、实验分析
类Time_class 成员数据定义 int year; int month; int day;成员数据作用描述 年份 月份 日期 成员函数功能描述 无参构造函数 成员函数定义 Time_class(void); ~Time_class(void); Time_class(int year,int month,int day);int getyear(); int getmonth();int getday(); void setyear(int year); void setmonth(int month); void setday(int day); 析构函数 含参构造函数 取年份 取月份 取日期 设置年份 设置月份 设置日期 类User_class 成员数据定义 char name[30]; char posword[20]; char tel[20];成员数据作用描述 用户或管理员姓名 用户密码 用户电话 用户住址 char addr[50]; 成员函数定义 User_class(void); ~User_class(void); User_class(char *name,char *posword); User_class(char *name,char *posword,char *tel,char *addr); char *getname(); char *getposword(); char *gettel(); char *getaddr(); void setname(char *name); void setposword(char *posword); void settel(char *tel); void setaddr(char *addr); 成员函数功能描述 无参构造函数 析构函数 含参构造函数 含参构造函数 取用户姓名 取用户密码 取用户电话号码 取用户地址 设置用户姓名 设置用户密码 设置用户电话号码 设置用户地址 类Film_class 成员数据定义 char moviename[30]; char mactor[30]; Time_class time; double price; int ticknum; int position[121]; 成员数据作用描述 片名 主要演员 上映时间 票价 剩余票数 座位信息,position[0]不用 成员函数功能描述 无参构造函数 析构函数 含参构造函数 成员函数定义 Film_class(void); ~Film_class(void); Film_class(char *moviename,char *mactor,Time_class time,double price,int ticknum,int position[]); char* getmoviename(); char* getmactor(); Time_class gettime(); double getprice(); int getticknum(); void setmoviename(char *moviename); void setmactor(char *mactor); void settime(Time_class time); void setprice(double price); void setticknum(int ticknum); void setposition_point(int number); 取片名 取主要演员 取上映时间 取票价 取剩余票数 设置片名 设置主要演员 设置上映时间 设置票价 设置剩余票数 标记用户订单信息 int* getposition(); 取影片座位信息 类Torder_class 成员数据定义 char username[20]; char moviename[30]; Time_class ptime; char seat[20]; Time_class dtime; double price; 成员数据作用描述 用户名 影片名 放映时间 座号(如3排4号) 订票时间 票价 成员函数功能描述 无参构造函数 析构函数 含参构造函数 成员函数定义 Torder_class(void); ~Torder_class(void); Torder_class(char *username,char *moviename,Time_class ptime,char *seat,Time_class dtime,double price); char *getusername(); char *getmoviename(); Time_class getptime(); char* getseat(); Time_class getdtime(); double getprice(); void setusername(char *username); void setmoviename(char *moviename); void setptime(Time_class ptime); void setseat(char seat[20]); void setdtime(Time_class dtime); void setprice(double price); 取用户名 取影片名 取放映时间 取座号(如3排4号) 取订票时间 取票价 设置用户名 设置影片名 设置放映时间 设置座号(如3排4号) 设置订票时间 设置票价 类Manage 成员数据定义 vector } } etyear()==() &&(pos->gettime()).getmonth()==() && (pos->gettime()).getday()==()) return &(*pos); return NULL; 户注册 ☆ ★\"< case 1:enroll_user(); break; case 2:enroll_administrator();break; default: break; void Boundary::enroll_user() { char name[30];户登录 ☆ ★\"< } switch(c) { } case 1:login_user(); break; case 2:login_administrator();break; default: break; void Boundary::login_user() { } void Boundary::admin_function_menu(User_class* a) { int c; do{ system(\"cls\");入影片信息 ☆ ★\"< char name[30];示影片信息 ☆ ★\"< case 1:display_film_info();break; case 2:search_film_info();break; case 3:user_booking_film();break; case 4:display_torder_info_user();break; default:break; }while(c!=5); } switch(c) { } case 1:add_film_info();break; case 2:display_film_info();break; case 3:change_film_info();break; case 4:search_film_info();break; case 5:del_film_info();break; case 6:display_user_info();break; case 7:display_torder_info();break; case 8:search_torder_info();break; case 9:del_torder_info();break; default: break; }while(c!=10); void Boundary::add_film_info() { char moviename[30];etyear()<<\"年\"<<(film->gettime()).getmonth()<<\"月 } cout<<\"\ 票价:\"< if(film->getticknum()-number>0)etyear()<<\"年\"<<(film->gettime()).getmonth()<<\"月 film->setticknum(film->getticknum()-number); film->setposition_point(number);etyear()<<\"年\"<<(pos->gettime()).getmonth()<<\"月 \"<<(film->gettime()).getday()<<\"日\"< cout<<\"\ 座号:\"< cout<<\"\ 座号:\"< } cout<<\"\ 订票时间:\"<<(torder->getdtime()).getyear()<<\"年cout<<\"\ 票价:\"< case 1:search_film_info_moviename();break; case 2:search_film_info_mactor();break; case 3:search_film_info_time();break; case 4:search_film_info_price();break; default:break; }while(c!=5); void Boundary::search_film_info_price()etyear()<<\"年\"<<(film->gettime()).getmonth()<<\"月\"<<(film->gettime()).getday()<<\"日\"< system(\"pause\");etyear()<<\"年\"<<(film->gettime()).getmonth()<<\"月 } system(\"pause\");etyear()<<\"年\"<<(film->gettime()).getmonth()<<\"月 } system(\"pause\");etyear()<<\"年\"<<(film->gettime()).getmonth()<<\"月 cout<<\"\ 票价:\"< } cout<<\"\ 剩余票数:\"< system(\"pause\");改影片名称 ☆ ★\"< case 1:change_film_info_moviename();break; case 2:change_film_info_mactor();break; case 3:change_film_info_time();break; case 4:change_film_info_price();break; default:break; cout<<\"\ 座号:\"< void Boundary::change_film_info_moviename()册 ☆ ★\"< cout< } }while(c!=3); return 0; 李文超.赵新慧.《面向对象程序设计教程》.中国石油出版社。 因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- oldu.cn 版权所有 浙ICP备2024123271号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务