MFC剧院票务管理和查询系统代码.docx
《MFC剧院票务管理和查询系统代码.docx》由会员分享,可在线阅读,更多相关《MFC剧院票务管理和查询系统代码.docx(12页珍藏版)》请在三一办公上搜索。
1、一. 主要类与算法剧目类class CDramachar m_name20;剧名char m_type10;类型char m_long10;时长char m_dire10;/导演char m_act10;主演int m_hall;/演出厅/int m_seat812;/座位号char m_date10;日期int m_price;/票价char m_starttime10;开始时间eg.14:59/int m_all;总票数int m_left;/剩余票数CDrama *next;/指向下一剧目的指针public:friend class CDramaList;CDrama(const cha
2、r *a,const char *b,const char *c,const char *d,const char *e,const char *f,const char *g,int h,int j,int k) 构造函数,依次对上面声明的变量初始 化strcpy(m_name,a);strcpy(m_type,b);strcpy(m_long,c);strcpy(m_dire,d);strcpy(m_act,e);strcpy(m_date,f);strcpy(m_starttime,g);m_price=k;/m_all=i;m_left=j;m_hall=h;CDrama();剧目链表
3、类class CDramaListCDrama *head;int CurDrama;public:CDramaList();CDramaList();AddDrama(const char *nm,const char *ty,const char *lg,const char *dr,const char *at,const char *dt,const char *st,int ha,int lf,int pr); 增加剧目int DeleteDrama(const char *nm,const char *dt,const char *st,int ha); /删除剧目int Save
4、DramaListToFile(const char *FileName); /保存汽车链表到文件(文件名)char* GetName(int id);/返回第id个剧目的名称char* GetType(int id);/返回第id个剧目的类型char* GetLong(int id); /返回第id个剧目的时长char* GetDire(int id);/返回第id个剧目的导演char* GetAct(int id);/返回第id个剧目的主演char* GetDate(int id);/返回第id个剧目的日期char* GetStartTime(int id); /返回第id个剧目的开始时间
5、int GetHall(int id); 返回第id个剧目的演出厅int GetLeft(int id);/返回第id个剧目的剩余票数int GetPrice(int id);/返回第id个剧目的票价int GetCurDramaNum();获得当前列表中的车数int GetIdOfDrama(const char *nm); 返回某剧目首次出现的id号int LoadDramaListFromFile(const char *FileName);从文件中读剧目信息到链表(文件名)int GetIdOfDrama1(const char *nm,const char *dt,const cha
6、r *st,int ha); /返回某剧目的 id 号int ShouPiao(const char *nm,const char *dt,const char *st,int ha);/售票int TuiPiao(const char *nm,const char *dt,const char *st,int ha);/退票/int GetStartTimeH(CString bc); 得到某班次发车时间的小时/int GetStartTimeM(CString bc); 得到某班次发车时间的分钟 ;实现增加剧目的算法int CDramaList:AddDrama(const char *n
7、m,const char *ty,const char *lg,const char *dr,const char *at,const char *dt,const char *st,int ha,int lf,int pr) 增加剧目CDrama *check=head;while(check!=NULL)if(!strcmp(check-m_name,nm)&!strcmp(check-m_date,dt)&!strcmp(check-m_starttime,st)&check-m_hall=ha) return -1;/有相同剧目check=check-next; if (head=NU
8、LL) head = new CDrama(nm,ty,lg,dr,at,dt,st,ha,lf,pr);head-next=NULL;CurDrama=1;return 0;CDrama *last=head;while(last-next !=NULL)last=last-next;last-next=new CDrama(nm,ty,lg,dr,at,dt,st,ha,lf,pr);last-next-next = NULL;CurDrama+;return 0;实现删除剧目的算法int CDramaList:DeleteDrama(const char *nm,const char *
9、dt,const char *st,int ha) /删除剧目CDrama *pre=head,*del;if(!strcmp(pre-m_name,nm)&!strcmp(pre-m_date,dt)&!strcmp(pre-m_starttime,st)&pre-m_hall=ha)head=head-next;delete pre;CurDrama-;return 0;int i;for(i=1;inext)-m_name,nm)&!strcmp(pre-next)-m_date,dt)&!strcmp(pre-next)-m_starttime,st)&(pre-next)-m_hal
10、l=ha)del=pre-next;pre-next=del-next;delete del;CurDrama-;return 0;pre=pre-next;return -1;售票算法int CDramaList:ShouPiao(const char *nm,const char *dt,const char *st,int ha) / 售票 int id;id=GetIdOfDrama1(nm,dt,st,ha);int i;CDrama *drama=head;for(i=1;im_left=0)return -1;else drama-m_left-;return 0; drama=
11、drama-next;return -1;退票算法int CDramaList:TuiPiao(const char *nm,const char *dt,const char *st,int ha) int id;id=GetIdOfDrama1(nm,dt,st,ha); int i;CDrama *drama=head;for(i=1;im_left+;return 0; drama=drama-next;return -1;将信息存入txt文档的算法int CDramaList:SaveDramaListToFile(const char *FileName) /文件名 ofstrea
12、m fout(FileName); if(!fout) return -5;fout居目表nendl;fout剧目名称t 类型 时长 导演 主演 日期 时间 演出厅剩余票数票价;if (CurDrama = 0) fout.close();return -2; 没有剧目,不输出回车直接返回 foutendl;int outputendl=1;让最后一行不输出回车的变量CDrama *drama=head;while(drama!=NULL) foutm_nametm_typet m_longtm_diret m_acttm_date m_starttimet m_hallt m_leftt m
13、_price;if (outputendl CurDrama) foutnext;fout.close();return 0;/从txt文档将信息读入的算法int CDramaList:LoadDramaListFromFile(const char *FileName)/先调用与析构函数相同的代码删除整个链表(略有修改)if(head!=0) CDrama *last=head,*del=last-next;while(head-next!=NULL)while(last-next-next!=NULL) last=last-next;del=last-next;delete del;las
14、t-next=NULL;last=head;delete head;head=0;/析构函数代码引用至次ifstream fin(FileName,ios:in|ios:nocreate);if (!fin) return -1;返回一1表示读取文件失败char temp50;for (int i=1;itemp;/跳过前面的表头汉字char nm10,char ty10,char lg10 ,char dr10,char at10,char dt10,st10;int ha,int lf,int pr;while (!fin.eof()finnmtylgdratdtsthalfpr;AddD
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MFC 剧院 管理 查询 系统 代码
链接地址:https://www.31ppt.com/p-4886511.html