C#总结项目《影院售票系统》编写总结完结篇
回顾:昨天总结了影院售票系统核心部分-售票,整个项目也就完成了2/3了,需求中也要求了对销售信息的保存,今天就继续总结销售信息的保存以及加载销售信息。
分析:退出程序时将已售出票集合中的对象循环写入到文本文件中,读取时循环读入并加入到已售出票集合中,下面看具体实现
public void Save()
{
//保存的文件
FileStream fs = new FileStream("soldTickets.txt", FileMode.OpenOrCreate);
StreamWriter sw = new StreamWriter(fs, Encoding.Default);
for (int i = ; i < cinema.SoldTickets.Count; i++)
{
//创建售出票对象
Ticket ticket = cinema.SoldTickets[i];
//票的类型
string type = "";
//票的折扣
int discount = ;
//赠送者的名字
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[];
//创建票对象
ticket = TicketUtil.CreateTicket(cinema.Schedule.Items[index], cinema.Seats[pv[]], int.Parse(pv[]), pv[], pv[]);
//加入到售出票集合
cinema.SoldTickets.Add(ticket);
line = reader.ReadLine();
}
reader.Close();
}
加载上次记录
到这,整个项目的需求就算是做完了,做一下总结和心得
对项目的业务必然要了解透彻
项目的架构从大处着手,先骨架,然后血肉,最后皮毛;将大项问题分解成若干小问题,有条不紊,才不会做着做着蒙圈。
项目总结完了(总算是完了(⊙o⊙)…)在以后的项目中再接再厉吧,也希望这些分享能帮助到一些朋友,当然总结出来也是对自己的帮助O(∩_∩)O哈!
C#总结项目《影院售票系统》编写总结完结篇的更多相关文章
- C#总结项目《影院售票系统》编写总结一
C#学习经历从基本语法结构到窗体再到面向对象终于走完了.NET初级程序员的道路,做为品德优良好学生更不能落下课程的总结项目-某某鸟<影院售票系统>.用了大概一天半的时间做完这个练手项目,先 ...
- C#编写影院售票系统(A project with a higher amount of gold )
项目需求: 影院售票系统 1.基础设施 放映厅 座位集合 2.一个海报------------>放映计划 3.售票设置----------->观影 领域模型:程序中提炼出的实体 4.从电影 ...
- C#编写影院售票系统(A project with a higher amount of gold )(2:相关代码)
此篇文章为项目代码,,,需要项目需求 ,思路分析与窗体效果请访问:http://www.cnblogs.com/lsy131479/p/8367304.html 项目类图: 影院类: using Sy ...
- 「影院售票系统」 · Java Swing + MySQL JDBC开发
目录 文档说明: 一.语言和环境 二.实现功能 三.数据库设计 四.具体要求及推荐实现步骤 五.注意事项 六.评分标准 实现代码: 一.数据库: 二.Java Swing: com.ynavc.Bea ...
- C#总结项目《影院售票系统》编写总结三
昨天总结了动态绘制控件.票类型的切换以及数据在窗体中的展现.今天继续总结,自己喜欢的就去做吧,让别人说去吧,省的自己再留下什么后悔遗憾,噢耶,加油! 今天总结项目中最核心的部分--购票.座位颜色状态的 ...
- C#总结项目《影院售票系统》编写总结二
昨天发布了总结项目的第一篇,需求分析以及类的搭建,今天继续更新,动态绘制控件.票类型的切换以及数据在窗体中的展现. 先从简单的开始,票类型的切换. 分析: 1.当点击普通票时 学生折扣和赠送者是禁用的 ...
- 《MySQL数据操作与查询》- 综合项目 - 航空售票系统
Mysql & SqlServer综合项目需求 1.系统整体功能 系统需支持以下功能: 维护客户信息.航班信息和票务信息 支持客户按多种条件组合查询航班信息和票务信息 支持客户根据票务信息订购 ...
- 努力做一个优秀的programmer [ C# 影院售票系统]
Cinema.cs类 [Serializable] // 电影院类 public class Cinema { public Cinema() { //二进制 SoldTickets = new Li ...
- 浅谈C#中一种类插件系统编写的简单方法(插件间、插件宿主间本身不需要通信)
文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/. 1.背景 三年多前还在上研时,用C#+反射机制写过插件系统,后来又用M ...
随机推荐
- IE layout详解
引言: Internet Explorer 中有很多奇怪的渲染问题可以给他一个”layout”得到解决,John Gallant 和 Holly Bergevin把他归类为“dimensional b ...
- 小议window.event || ev
以前做项目时就遇到这个问题,但是太懒没有总结,今天来总结一下 onclick="alert(arguments.callee)"这句随便放在某个元素中,试试不同的浏览器会有弹出什么 ...
- Web Services
Web Services 1. Web Services基本规范概述 1.1. 什么是Web Services Web Services是为实现“基于Web无缝集成”的目标而提出的全新 ...
- Delphi-Copy 函数
函数名称 Copy 所在单元 System 函数原型 1 function Copy ( Source : string; StartChar, Count : Integer ) : string ...
- lua curl动态链接库编译安装(二)
下面再介绍一下lua-curl中的lua-curl-0.2.tar.gz版本的安装方法,可能对于一般的人来说这个很简单,但是对于我们这些菜鸟来说就不一样了: # wget http://files.l ...
- JVM笔记-temp
jvm源码分析之堆外内存完全解读 http://lovestblog.cn/blog/2015/05/12/direct-buffer/
- 转:Mongodb中随机的查询文档记录
简述,摘要:在实际应用场景中,几乎都会有随机获取数据记录的需求.而这个需求在Mongodb却不是很好实现,就目前而言,大致上有三种解决方案:1. 先计算出一个从0到记录总数之间的随机数,然后采用ski ...
- DropzoneJS 可以拖拽上传的js库
介绍 可以拖拽上传的 js库 网址 http://www.dropzonejs.com/ 同类类库 1.jquery.fileupload http://blueimp.github.io/jQu ...
- Period
uvalive3026:https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&pag ...
- cf D. Maximum Submatrix 2
http://codeforces.com/contest/376/problem/D 题意:给你一个矩阵,可以随意排列n行的次序,然后找出全部含有1的子矩阵.输出1的个数. 思路:c[i][j]表示 ...