影院订票系统实验报告Word下载.docx
- 文档编号:16874126
- 上传时间:2022-11-26
- 格式:DOCX
- 页数:61
- 大小:279.37KB
影院订票系统实验报告Word下载.docx
《影院订票系统实验报告Word下载.docx》由会员分享,可在线阅读,更多相关《影院订票系统实验报告Word下载.docx(61页珍藏版)》请在冰豆网上搜索。
1.显示影片信息2.查找影片信息3.订票4.查看订单
三、实验原理
本实验使用vs2012开发环境,使用C++窗口程序设计。
先定义Time_class时间类,User_class用户信息类,Film_class影片信息类,Torder_class订单类,其中影片信息类,订单类,调用时间类,实现放映时间以及订单时间的使用,这4个实体类
都有相应的get(),set()函数。
Manage控制类,执行逻辑
Boundary边界类,与用户实现信息的输入与输出,边界类调用控制类对象,控制类对象调用控制类中的函数,实现相应的功能。
主程序有两个功能,一个是注册,一个是登录。
两个功能进入边界类。
三、实验截图
用户注册页面
用户登录界面
用户功能菜单
查看影片信息
用户订票
管理员功能菜单
查看订单列表
订票信息
修改影片信息
用户信息,影片信息,订单信息储存在当前文件下
users_information.txt
administrators_information.txt
torder_information.txt
films_information.txt
四、实验分析
类Time_class
成员数据定义
成员数据作用描述
intyear;
年份
intmonth;
月份
intday;
日期
成员函数定义
成员函数功能描述
Time_class(void);
无参构造函数
~Time_class(void);
析构函数
Time_class(intyear,intmonth,intday);
含参构造函数
intgetyear();
取年份
intgetmonth();
取月份
intgetday();
取日期
voidsetyear(intyear);
设置年份
voidsetmonth(intmonth);
设置月份
voidsetday(intday);
设置日期
类User_class
charname[30];
用户或管理员姓名
charposword[20];
用户密码
chartel[20];
用户电话
charaddr[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();
取用户地址
voidsetname(char*name);
设置用户姓名
voidsetposword(char*posword);
设置用户密码
voidsettel(char*tel);
设置用户电话号码
voidsetaddr(char*addr);
设置用户地址
类Film_class
charmoviename[30];
片名
charmactor[30];
主要演员
Time_classtime;
上映时间
doubleprice;
票价
intticknum;
剩余票数
intposition[121];
座位信息,position[0]不用
Film_class(void);
~Film_class(void);
Film_class(char*moviename,char*mactor,Time_classtime,doubleprice,intticknum,intposition[]);
char*getmoviename();
取片名
char*getmactor();
取主要演员
Time_classgettime();
取上映时间
doublegetprice();
取票价
intgetticknum();
取剩余票数
voidsetmoviename(char*moviename);
设置片名
voidsetmactor(char*mactor);
设置主要演员
voidsettime(Time_classtime);
设置上映时间
voidsetprice(doubleprice);
设置票价
voidsetticknum(intticknum);
设置剩余票数
voidsetposition_point(intnumber);
标记用户订单信息
int*getposition();
取影片座位信息
类Torder_class
charusername[20];
用户名
影片名
Time_classptime;
放映时间
charseat[20];
座号(如3排4号)
Time_classdtime;
订票时间
Torder_class(void);
~Torder_class(void);
Torder_class(char*username,char*moviename,Time_classptime,char*seat,Time_classdtime,doubleprice);
char*getusername();
取用户名
char*getmoviename();
取影片名
Time_classgetptime();
取放映时间
char*getseat();
取座号(如3排4号)
Time_classgetdtime();
取订票时间
voidsetusername(char*username);
设置用户名
设置影片名
voidsetptime(Time_classptime);
设置放映时间
voidsetseat(charseat[20]);
设置座号(如3排4号)
voidsetdtime(Time_classdtime);
设置订票时间
类Manage
vector<
User_class>
users;
//用户容器
administrators;
//管理员容器
Film_class>
films;
//电影信息容器
Torder_class>
torders;
//订单容器
Manage(void);
~Manage(void);
voidenroll_user(User_classa);
用户注册函数
voidenroll_administrator(User_classa);
管理员注册函数
voidload();
从文件加载用户和管理员信息到两个容器中
读取文本信息到程序中
voidsave_user_info();
把信息保存到文件中
voidsave_film_info();
保存影片信息
voidsave_torder_info();
保存订单信息
intlogin_user(User_classa);
用户登录
intlogin_administrator(User_classa);
管理员登录
voidadd_film_info(Film_classa);
添加影片信息
voidadd_torder_info(Torder_classa);
添加订单信息
Film_class*search_film_info(char*moviename);
搜索电影信息
Torder_class*search_torder_info(char*username);
搜索订单信息
booldel_film_info(char*moviename);
删除影片信息
booldel_torder_info(char*tordername);
删除订单信息
&
getFilms();
返回films引用,使边界类可以调用管理类中的对象
getUsers();
返回users引用
getTorders();
返回torder引用
voidchange_film_info_moviename();
voidchange_film_info_mactor();
voidchange_film_info_time();
voidchange_film_info_price();
类Boundary
Managemanage;
控制类管理对象
Boundary(void);
~Boundary(void);
voidenroll_menu();
注册菜单
voidenroll_user();
用户注册
voidenroll_administrator();
管理员注册
voidlogin_menu();
登录菜单
voidlogin_user();
voidlogin_administrator();
voiduser_function_menu(User_class*a);
voidadmin_function_menu(User_class*a);
voidadd_film_info();
voidadd_torder_info();
voiddisplay_film_info();
显示影片信息
voidsearch_film_info();
查找影片信息
voidsearch_torder_info();
查找某用户订单信息
voiddel_film_info();
voiddel_torder_info();
voiddisplay_user_info();
显示用户信息
voiddisplay_torder_info();
显示订票信息
voiduser_booking_film();
voidchange_film_info();
五、实验总结
题目序号
实现情况与掌握程度
是否独立完成
代码是否规范编写
存在问题
如何改进
1
掌握了边界类,控制类函数的实现
代码独立完成
代码基本按照要求编写
在取系统时间时,未能正确取出。
t=localtime_s(&
t);
查询有关知识,使用不同的方式,取系统时间
实践经验
经典代码
边界类直接调用控制类中的容器,那么就得在控制类添加返回容器的引用
①Film_class*film=manage.search_film_info(moviename);
②system("
pause"
);
//暂停
③vector<
:
iteratorpos;
for(pos=films.begin();
pos!
=films.end();
pos++){
if(strcmp(pos->
getmoviename(),moviename)==0){
films.erase(pos);
//删除
save_film_info();
//保存影片信息
}
}
①Manage控制类,执行逻辑
②Boundary边界类,与用户实现信息的输入与输出,边界类调用控制类对象,控制类对象调用控制类中的函数,实现相应的功能。
③主程序有两个功能,一个是注册,一个是登录。
④如果边界类直接调用控制类中的容器,那么就得在控制类添加返回容器的引用
六、实验源码
//stdafx.h文件
#pragmaonce
#include"
targetver.h"
#include<
stdio.h>
tchar.h>
iostream>
usingnamespacestd;
windows.h>
vector>
fstream>
cstdlib>
ctime>
string>
///:
~
//Time_class.h文件
classTime_class//时间类
{
intyear;
intmonth;
intday;
public:
Time_class(void);
~Time_class(void);
Time_class(intyear,intmonth,intday);
intgetyear();
intgetmonth();
intgetday();
voidsetyear(intyear);
voidsetmonth(intmonth);
voidsetday(intday);
};
///:
//Time_class.cpp文件
StdAfx.h"
Time_class.h"
Time_class:
Time_class(void)
}
~Time_class(void)
Time_class(intyear,intmonth,intday)
this->
year=year;
month=month;
day=day;
intTime_class:
getyear()
returnyear;
getmonth()
returnmonth;
getday()
returnday;
voidTime_class:
setyear(intyear)
setmonth(intmonth)
setday(intday)
//User_class.h文件
//用户信息类
classUser_class
charname[30];
//用户或管理员姓名
charposword[20];
//用户密码
chartel[20];
//用户电话
charaddr[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();
voidsetname(char*name);
voidsetposword(char*posword);
voidsettel(char*tel);
voidsetaddr(char*addr);
//User_class.cpp文件
User_class.h"
User_class:
User_class(void)
~User_class(void)
User_class(char*name,char*posword)
strcpy_s(this->
name,name);
posword,posword);
User_class(char*name,char*posword,char*tel,char*addr)
tel,tel);
addr,addr);
char*User_class:
getname()
returnname;
getposword()
returnposword;
gettel()
returntel;
getaddr()
returnaddr;
voidUser_class:
setname(char*name)
setposword(char*posword)
settel(char*tel)
setaddr(char*addr)
//Film_class.h文件
//影片信息类
classFilm_class
charmoviename[30];
//片名
charmactor[30];
//主要演员
Time_classtime;
//上映时间
doubleprice;
//票价
intticknum;
//剩余票数
intposition[121];
//
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 影院 订票 系统 实验 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)