zoukankan      html  css  js  c++  java
  • C#总结项目《影院售票系统》编写总结完结篇

    回顾:昨天总结了影院售票系统核心部分-售票,整个项目也就完成了2/3了,需求中也要求了对销售信息的保存,今天就继续总结销售信息的保存以及加载销售信息。

    分析:退出程序时将已售出票集合中的对象循环写入到文本文件中,读取时循环读入并加入到已售出票集合中,下面看具体实现

     1 public void Save()
     2         {
     3             //保存的文件
     4             FileStream fs = new FileStream("soldTickets.txt", FileMode.OpenOrCreate);
     5             StreamWriter sw = new StreamWriter(fs, Encoding.Default);
     6             for (int i = 0; i < cinema.SoldTickets.Count; i++)
     7             {
     8                 //创建售出票对象
     9                 Ticket ticket = cinema.SoldTickets[i];
    10                 //票的类型
    11                 string type = "";
    12                 //票的折扣
    13                 int discount = 0;
    14                 //赠送者的名字
    15                 string name = "";
    16                 //用is判断属于哪个类,并根据类设置类型
    17                 if (cinema.SoldTickets[i] is StudentTicket)
    18                 {
    19                     type = "stu";
    20                     discount = ((StudentTicket)cinema.SoldTickets[i]).Discount;
    21                 }
    22                 else if (cinema.SoldTickets[i] is FreeTicket)
    23                 {
    24                     type = "free";
    25                     name = ((FreeTicket)cinema.SoldTickets[i]).CustomerName;
    26                 }
    27                 else
    28                 {
    29                     type = "normal";
    30                 }
    31                 //将信息写入文本文件0.电影名1.场次2.座位号3.票价4.折扣5.类型6.赠送者
    32                 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);
    33                 sw.WriteLine(info);
    34             }
    35             sw.WriteLine("The End");
    36             sw.Close();
    37             fs.Close();
    38             MessageBox.Show("保存成功!");
    39         }
    保存数据到文件

    读取数据

     1  public void LoadLis()
     2         {
     3             StreamReader reader = new StreamReader("soldTickets.txt", Encoding.Default);
     4             //一行一行的读取,先预读一行给while判断用
     5             string line = reader.ReadLine();
     6             //保存分割好的数据的数组
     7             string[] pv;
     8             Ticket ticket = null;
     9             //当是The End时结束读取
    10             while (line.Trim() != "The End")
    11             {
    12                 pv = line.Split('|');
    13                 //读取文本信息
    14                 string index = pv[1];
    15                 //创建票对象
    16                 ticket = TicketUtil.CreateTicket(cinema.Schedule.Items[index], cinema.Seats[pv[2]], int.Parse(pv[4]), pv[6], pv[5]);
    17                 //加入到售出票集合
    18                 cinema.SoldTickets.Add(ticket);
    19                 line = reader.ReadLine();
    20             }
    21             reader.Close();
    22         }
    加载上次记录

    到这,整个项目的需求就算是做完了,做一下总结和心得

      对项目的业务必然要了解透彻

      项目的架构从大处着手,先骨架,然后血肉,最后皮毛;将大项问题分解成若干小问题,有条不紊,才不会做着做着蒙圈。

    项目总结完了(总算是完了(⊙o⊙)…)在以后的项目中再接再厉吧,也希望这些分享能帮助到一些朋友,当然总结出来也是对自己的帮助O(∩_∩)O哈!

  • 相关阅读:
    linux下启动和关闭网卡命令及DHCP上网
    python 编码问题
    paddlepaddle
    Convolutional Neural Network Architectures for Matching Natural Language Sentences
    deep learning RNN
    Learning Structured Representation for Text Classification via Reinforcement Learning 学习笔记
    Python IO密集型任务、计算密集型任务,以及多线程、多进程
    EM 算法最好的解释
    tensorflow 调参过程
    tensorflow 学习纪录(持续更新)
  • 原文地址:https://www.cnblogs.com/AIThink/p/4943635.html
Copyright © 2011-2022 走看看