青鸟影院售票系统
来源:互联网 发布:网络优化工程师怎么样 编辑:程序博客网 时间:2024/04/28 12:55
using System;using System.Collections.Generic;using System.Linq;using System.Threading.Tasks;using System.Windows.Forms;namespace Day_影院售票系统{ static class Program { /// <summary> /// 应用程序的主入口点。 /// </summary> [STAThread] static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new Form1()); } }}using System;using System.Collections.Generic;using System.IO;using System.Linq;using System.Text;using System.Threading.Tasks;namespace Day_影院售票系统{ /// <summary> /// 影院类 /// </summary> public class Cinema { public static Dictionary<string, Seat> Seats =new Dictionary<string, Seat>(); public static Schedule Schedule = new Schedule(); public static List<Ticket> SoldTickets = new List<Ticket>(); public void Save() { FileStream fs = new FileStream("soldTickets.txt", FileMode.OpenOrCreate); StreamWriter writer = new StreamWriter(fs, Encoding.Default); for (int index = 0; index < SoldTickets.Count; index++) { Ticket ticket = SoldTickets[index]; string info = "|" + ticket.ScheduleItem.Movie.MovieName + "|" + ticket.ScheduleItem.Movie.Poster + "|" + ticket.ScheduleItem.Movie.Director + "|" + ticket.ScheduleItem.Movie.Actor + "|" + ticket.ScheduleItem.Movie.MovieType.ToString() + "|" + ticket.ScheduleItem.Movie.Price + "|" + ticket.ScheduleItem.Time + "|" + ticket.Seat.SeatNum + "|" + ticket.Seat.Color + "|" + ticket.Price + "|"; if (ticket is FreeTicket) { string customerName = ((FreeTicket) ticket).CustomerName; writer.WriteLine("free" + info + customerName); } else if (ticket is StudentTicket) { writer.WriteLine("student" + info + ""); } else { writer.WriteLine("" + info + ""); } } writer.WriteLine("The End"); writer.Close(); fs.Close(); } public void Load() { try { StreamReader reader = new StreamReader("soldTickets.txt", Encoding.Default); string line = reader.ReadLine(); string[] propertyValues; Ticket ticket = null; while (line.Trim() != "The End") { SoldTickets.Add(ticket); line = reader.ReadLine(); } reader.Close(); } catch (Exception ex) { Console.WriteLine("有错误:" + ex.Message); SoldTickets = new List<Ticket>(); } } }} using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Forms;using System.IO;namespace Day_影院售票系统{ /// <summary> /// 赠票子类 /// </summary> public class FreeTicket:Ticket { public FreeTicket(ScheduleItem sch, Seat seat, string name) : base(sch, seat) { this.Seat = seat; this.CustomerName = name; this.ScheduleItem = sch; } public string CustomerName { get; set; } public override void CalcPrice() { this.Price = 0; } public override void Print() { string info = string.Format("************************************************\n\t青鸟影院(赠票)\n------------------------------------------------\n电影名:\t{0}\n时间:\t{1}\n座位号:\t{2}\n姓名:\t{3}\n************************************************", this.ScheduleItem.Movie.MovieName, this.ScheduleItem.Time, this.Seat.SeatNum, this.CustomerName); MessageBox.Show(info); //存到文件中 string fileName = this.ScheduleItem.Time.Replace(":", "-") + " " + this.Seat.SeatNum + ".txt"; FileStream fs = new FileStream(fileName, FileMode.Create); StreamWriter sw = new StreamWriter(fs); sw.Write(info); sw.Close(); fs.Close(); } public override void Show() { MessageBox.Show("已售出!\n赠票!"); ; } }}using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace Day_影院售票系统{ /// <summary> /// 电影类 /// </summary> public class Movie { public string MovieName;//电影名 public string Poster { get; set; }//海报图片名 public string Director { get; set; }//导演名 public string Actor { get; set; }//主演 public MovieType MovieType { get; set; }//电影类型 public int Price { get; set; }//定价 }}using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace Day_影院售票系统{ public enum MovieType { 爱情片 = 0,//爱情片 战争片 = 1,//战争片 浪漫电影 = 2,//浪漫电影 动作片 = 3,//动作片 卡通片 = 4,//卡通片 惊悚片 = 5,// 惊悚片 冒险片 = 6//冒险片 }}using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Xml;namespace Day_影院售票系统{ /// <summary> /// 放映计划类 /// </summary> public class Schedule { public Dictionary<string, ScheduleItem> Items =new Dictionary<string, ScheduleItem>(); public void LoadItems() { Items.Clear(); XmlDocument xml = new XmlDocument(); xml.Load("ShowList.xml"); XmlElement root = xml.DocumentElement; foreach (XmlNode item in root.ChildNodes) { Movie movie = new Movie(); movie.MovieName = item["Name"].InnerText; movie.Poster = item["Poster"].InnerText; movie.Director = item["Director"].InnerText; movie.Actor = item["Actor"].InnerText; switch (item["Type"].InnerText) { case "Action": movie.MovieType = MovieType.爱情片; break; case "War": movie.MovieType = MovieType.战争片; break; case "Comedy": movie.MovieType = MovieType.浪漫电影; break; } movie.Price = Convert.ToInt32(item["Price"].InnerText); if (item["Schedule"].HasChildNodes) { foreach (XmlNode item2 in item["Schedule"].ChildNodes) { ScheduleItem schItem = new ScheduleItem(); schItem.Time = item2.InnerText; schItem.Movie = movie; Items.Add(schItem.Time, schItem); } } } } }}using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace Day_影院售票系统{ /// <summary> /// 影院每天放映计划的场次,保存每场电影的信息 /// </summary> public class ScheduleItem { public string Time { get; set; }//放映时间属性 public Movie Movie{ get; set; }//本场所放映电影属性 }}using System;using System.Collections.Generic;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks;namespace Day_影院售票系统{ public class Seat { public Seat(string seatnum,Color s) { this.SeatNum = seatnum; this.Color = s; } public string SeatNum { get; set; }//座位号 public Color Color { get; set; }//座位卖出状态颜色 }}using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Forms;using System.IO;namespace Day_影院售票系统{ /// <summary> /// 学生票子类 /// </summary> public class StudentTicket:Ticket { public StudentTicket(ScheduleItem sch, Seat seat, int discount) : base(sch, seat) { this.Discount = discount; } private int _discount; /// <summary> /// 学生票的折扣 /// </summary> public int Discount { get { return _discount; } set { _discount = value; } } public override void CalcPrice() { this.Price = this.ScheduleItem.Movie.Price * Discount / 10; } public override void Print() { string info = string.Format("************************************************\n\t青鸟影院(学生)\n------------------------------------------------\n电影名:\t{0}\n时间:\t{1}\n座位号:\t{2}\n价格:\t{3}\n************************************************", this.ScheduleItem.Movie.MovieName, this.ScheduleItem.Time, this.Seat.SeatNum, this.Price); MessageBox.Show(info); //存到文件中 string fileName = this.ScheduleItem.Time.Replace(":", "-") + " " + this.Seat.SeatNum + ".txt"; FileStream fs = new FileStream(fileName, FileMode.Create); StreamWriter sw = new StreamWriter(fs); sw.Write(info); sw.Close(); fs.Close(); } public override void Show() { string info = string.Format("已售出!\n{0}折学生票!", this.Discount); } }}using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Forms;using System.IO;namespace Day_影院售票系统{ /// <summary> /// /// </summary> public class Ticket { //放映场次 public ScheduleItem ScheduleItem=new ScheduleItem(); //所属座位对象 public Seat Seat { get; set; } //票价 private int _price; public int Price { get { return _price; } set { _price = value; } } //构造函数 public Ticket() { } public Ticket(ScheduleItem sch, Seat seat) { this.ScheduleItem = sch; this.Seat = seat; } //计算票价 public virtual void CalcPrice() { this.Price = ScheduleItem.Movie.Price; } //打印售票信息 public virtual void Print() { string info = string.Format("************************************************\n\t青鸟影院(赠票)\n------------------------------------------------\n电影名:\t{0}\n时间:\t{1}\n座位号:\t{2}\n姓名:\t{3}\n************************************************", this.ScheduleItem.Movie.MovieName, this.ScheduleItem.Time, this.Seat.SeatNum, this.ScheduleItem); MessageBox.Show(info); string fileName = this.ScheduleItem.Time.Replace(":", "-") + " " + this.Seat.SeatNum + ".txt"; Stream fs = new FileStream(fileName, FileMode.Create); StreamWriter sw = new StreamWriter(fs); sw.Write(info); sw.Close(); fs.Close(); } //显示当前售出票信息 public virtual void Show() { MessageBox.Show("已售出!\n赠票!"); } }}using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace Day_影院售票系统{ class TicketUtil { public void CreateTicket() { } public static Ticket CreateTicket(ScheduleItem sch, Seat seat, int discount, string customerName, string type) { Ticket newTicket = null; switch (type) { case "student": newTicket = new StudentTicket(sch, seat, discount); break; case "free": newTicket = new FreeTicket(sch, seat, customerName); break; default: newTicket = new Ticket(sch, seat); break; } return newTicket; } }}
1 0
- 青鸟影院售票系统
- 青鸟影院售票系统(一)
- 影院售票系统
- C#影院售票系统
- 影院售票系统源代码
- 影院售票系统
- 影院售票系统
- 深入.NET 青鸟影院系统
- 影院售票
- 论学习的重要性之 -- 影院售票系统
- 深入.NET编程 第十一章 影院售票系统
- "青鸟影院"三分之一
- "青鸟影院"三分之二
- 影院售票管理源码
- "青鸟影院"的最后一部分
- 影院售票座位的设计
- Java毕业设计------基于JSP技术影院售票系统的设计与实现
- ACCPS2深入.net和c#编程影院售票系统 购票.打印.持续销售
- Android ConstraintLayout详解
- 二进制补码
- 手把手教你webpack、react和node.js环境配置(上篇)
- cocos2d 跨平台原理 以及android.mk编译的入口
- 个人总结-布局的使用(附加部分其他知识总结)
- 青鸟影院售票系统
- Python 中的var_dump, 对象打印
- 白夜行,在白日黑暗中行走的男女
- 图说C++对象模型:对象内存布局详解
- linux学习笔记(十一)
- Qt 打印失败变成生成pdf QPrinterInfo::availablePrinters()获取不到打印机信息
- swift重写
- 《Python核心编程》第9章 习题
- Ftp和http