当前位置: 首页 > 编程笔记 >

C#影院售票系统毕业设计(4)

仲孙才捷
2023-03-14
本文向大家介绍C#影院售票系统毕业设计(4),包括了C#影院售票系统毕业设计(4)的使用技巧和注意事项,需要的朋友参考一下

回顾:上一篇文章总结了影院售票系统核心部分-售票,整个项目也就完成了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实现电影购票系统的具体代码,供大家参考,具体内容如下 首先系统分为前台用户登录注册和后台管理员进行管理 项目采用三层架构思想 系统首页 电影详情以及查看评论 查看所有电影场次 购买影票选择座位 查看影票以及点击进入评论 对购