回顾:上一篇文章总结了影院售票系统核心部分-售票,整个项目也就完成了2/3了,需求中也要求了对销售信息的保存,今天就继续总结销售信息的保存以及加载销售信息。
分析:退出程序时将已售出票集合中的对象循环写入到文本文件中,读取时循环读入并加入到已售出票集合中,下面看具体实现
public void Save() { //保存的文件 FileStream fs = new FileStream("soldTickets.txt", FileMode.OpenOrCreate); StreamWriter sw = new StreamWriter(fs, Encoding.Default); for (int i = 0; i < cinema.SoldTickets.Count; i++) { //创建售出票对象 Ticket ticket = cinema.SoldTickets[i]; //票的类型 string type = ""; //票的折扣 int discount = 0; //赠送者的名字 string name = ""; //用is判断属于哪个类,并根据类设置类型 if (cinema.SoldTickets[i] is StudentTicket) { type = "stu"; discount = ((StudentTicket)cinema.SoldTickets[i]).Discount; } else if (cinema.SoldTickets[i] is FreeTicket) { type = "free"; name = ((FreeTicket)cinema.SoldTickets[i]).CustomerName; } else { type = "normal"; } //将信息写入文本文件0.电影名1.场次2.座位号3.票价4.折扣5.类型6.赠送者 string info = string.Format("{0}|{1}|{2}|{3}|{4}|{5}|{6}", cinema.SoldTickets[i].ScheduItem.Movie.MovieName, cinema.SoldTickets[i].ScheduItem.Time, cinema.SoldTickets[i].Seat.SeatNum, cinema.SoldTickets[i].Price, discount, type, name); sw.WriteLine(info); } sw.WriteLine("The End"); sw.Close(); fs.Close(); MessageBox.Show("保存成功!"); }
读取数据
public void LoadLis() { StreamReader reader = new StreamReader("soldTickets.txt", Encoding.Default); //一行一行的读取,先预读一行给while判断用 string line = reader.ReadLine(); //保存分割好的数据的数组 string[] pv; Ticket ticket = null; //当是The End时结束读取 while (line.Trim() != "The End") { pv = line.Split('|'); //读取文本信息 string index = pv[1]; //创建票对象 ticket = TicketUtil.CreateTicket(cinema.Schedule.Items[index], cinema.Seats[pv[2]], int.Parse(pv[4]), pv[6], pv[5]); //加入到售出票集合 cinema.SoldTickets.Add(ticket); line = reader.ReadLine(); } reader.Close(); }
到这,整个项目的需求就算是做完了
总结一下通过这个项目得到的收货
1、对项目的业务必然要了解透彻
2、项目的架构从大处着手,先骨架,然后血肉,最后皮毛;将大项问题分解成若干小问题,有条不紊,才不会做着做着蒙圈。
以上就是关于C#影院售票系统毕业设计的全部内容,所有的流程都已经分享给大家了,希望对大家的学习有所帮助。
本文向大家介绍C#实现影院售票系统,包括了C#实现影院售票系统的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了C#实现影院售票系统的具体代码,供大家参考,具体内容如下 本人认为此项目的难点有4点 1.首先是将解析完的XML文件绑定到TreeView上 2.用代码动态生成座位的label,生成触发事件Label_Click,俩组放映时间的售出座位是不同的 3.用序列化与反序列化实现代码
本文向大家介绍java书店系统毕业设计 总体设计(1),包括了java书店系统毕业设计 总体设计(1)的使用技巧和注意事项,需要的朋友参考一下 java书店系统项目功能需求: 1、能进行操作用户的注册,修改基本信息,删除和查询。 2、能对图书的基本信息进行增加、删除、修改和查询操作。 3、能填写进货单,一张进货单带有多条具体的进货信息,进货的书籍必须是图书管理里面已经有的;进货的同时修改库存对应书
这次周总的语气显得有些焦急,绝影预料都有什么重要的事情发生。他说:“小绝啊,那个KIPACS的BUG你现在能不能抽点时间加紧修一修。明天我们就要去为一家医院安装,时间很紧啊。” 周总说的KIPACS是公司一个软件产品,以前一直是小周在做,虽然名字叫PACS,后来绝影才发现,这个软件产品其实还算不上真正意义上的PACS。小周一直拿它当宝贝似的,还记得前不久刚刚把视频卡模块加进去的时候他一个人在那兴奋
本文向大家介绍java书店系统毕业设计 用户模块(2),包括了java书店系统毕业设计 用户模块(2)的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了java书店系统毕业设计第二篇,供大家参考,具体内容如下 1、用户管理(user.txt) 字段名和顺序 说明:其中的type为int类型,用来表示操作用户的类型。 1——表示为admin,可以进行全部操作 2——表示为能操作图书模块的
本文向大家介绍纯C语言实现火车售票系统,包括了纯C语言实现火车售票系统的使用技巧和注意事项,需要的朋友参考一下 这是好久之前写的一个火车售票系统, 写的非常粗糙, 后来也没改了, 希望遇见有缘人继续优化吧。 主要的功能是:设置车次,删除车次, 买票, 改签, 退票, 查询等。 更多学习资料请关注专题《管理系统开发》。 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。
我想用optaplanner设计一个预订系统,按照我的商业模式: 要预订预约,客户将选择: null 由于我对optaplanner是个新手,你能告诉我这是不是该走的路吗? 更新1:出于设计目的,我已经将问题简化到最小。
本文向大家介绍C语言实现航班售票系统 C语言实现航班管理系统,包括了C语言实现航班售票系统 C语言实现航班管理系统的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了C语言航班售票系统的具体代码,供大家参考,具体内容如下 题目描述:实现一个航班售票系统,每个航班应包括以下信息:航班号、起飞地、目的地、总座位数、余票数、乘客名单等;每个乘客的信息有:乘客姓名、证件号码、座位号等。 更多学习
本文向大家介绍java swing实现电影购票系统,包括了java swing实现电影购票系统的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了java swing实现电影购票系统的具体代码,供大家参考,具体内容如下 首先系统分为前台用户登录注册和后台管理员进行管理 项目采用三层架构思想 系统首页 电影详情以及查看评论 查看所有电影场次 购买影票选择座位 查看影票以及点击进入评论 对购