电影院售票管理系统范文.doc
《电影院售票管理系统范文.doc》由会员分享,可在线阅读,更多相关《电影院售票管理系统范文.doc(72页珍藏版)》请在咨信网上搜索。
电影院售票管理系统 72 2020年4月19日 文档仅供参考 package util; import java.io.FileOutputStream; import java.io.IOException; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException; import javax.xml.transform.OutputKeys; import javax.xml.transform.Transformer; import javax.xml.transform.TransformerFactory; import javax.xml.transform.dom.DOMSource; import javax.xml.transform.stream.StreamResult; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.NodeList; import org.xml.sax.SAXException; public class DomUtil { public static Document getDocument(String fileAddress){ Document doc=null; try { DocumentBuilderFactory dbf=DocumentBuilderFactory.newInstance(); DocumentBuilder db=dbf.newDocumentBuilder(); doc=db.parse(fileAddress); } catch (Exception e) { e.printStackTrace(); } if(doc!=null) return doc; else return null; } public static void saveDocument(Document doc,String fileAddress){ //保存 try{ TransformerFactory tf=TransformerFactory.newInstance(); Transformer t=tf.newTransformer(); DOMSource doms=new DOMSource(doc);//获得数据源 //设置字符编码类型 t.setOutputProperty(OutputKeys.ENCODING, "UTF-8"); StreamResult result =new StreamResult(new FileOutputStream(fileAddress)); t.transform(doms, result); } catch (Exception e) { e.printStackTrace(); } } } package test; import service.impl.Login; public class Start { public static void main(String[] args) { new Login().start(); } } package service; public interface UserService { public void menu(); //查看全部电影 public void getAll(); //经过电影名称查询电影 public void getByName(); //经过放映时间查询电影 public void getByItem(); //购买普通票 public void byTicket(); //购买学生折扣票 public void byDiscount(); //购买免费票 优惠券 public void byFree(); } package service; public interface AdminService { //菜单 public void menu(); //查看所有 public void getAll(); //添加电影 public void addFilm(); //删除电影 public void delFilm(); //更新电影 public void upFilm(); //售票查询 public void getTicket(); } package service.impl; import java.util.ArrayList; import java.util.List; import java.util.Scanner; import dao.impl.FilmDaoImpl; import entity.Film; import entity.Seat; import service.UserService; public class UserLogin implements UserService { Scanner input=new Scanner(System.in); List<Film> listFilm=new ArrayList<Film>(); List<Seat> listSeat=new ArrayList<Seat>(); FilmDaoImpl fdi=new FilmDaoImpl(); public void menu() { System.out.println("选择你的操作:1:查看所有电影;2:按电影名查询;3:按播放时间查询;" + "4:购票;5:返回上一层;6:退出;"); int chose=input.nextInt(); switch(chose){ case 1:getAll() ;break; case 2:getByName();break; case 3:getByItem();break; case 4:byTicket();break; case 5:break; case 6:System.exit(0);break; default :break; } } public void getAll() { System.out.println("序号"+"\t"+"电影名称"+"\t"+"英文名称"+"\t"+"导演"+"\t"+"演员" +"\t"+"影片类型"+"\t"+"票价"+"\t"+"播放时间"); listFilm=fdi.getAll(); for(Film film:listFilm){ System.out.println(film.getId()+"\t"+film.getName()+"\t" +film.getPoster()+"\t"+film.getDirector()+"\t" +film.getAcotr()+"\t"+film.getType()+"\t" +film.getPrice()+"\t"+film.getItem()); } listFilm.clear(); menu(); } public void getByName() { System.out.println("请输入要查询到电影:"); String name=input.next(); listFilm=fdi.getByName(name); if (listFilm != null) { System.out.println("序号"+"\t"+"电影名称"+"\t"+"英文名称"+"\t"+"导演"+"\t"+"演员" +"\t"+"影片类型"+"\t"+"票价"+"\t"+"播放时间"); for (Film film : listFilm) { System.out.println(film.getId() + "\t" + film.getName() + "\t" + film.getPoster() + "\t" + film.getDirector() + "\t" + film.getAcotr() + "\t" + film.getType() + "\t" + film.getPrice() + "\t" + film.getItem()); } listFilm.clear(); menu(); } else{ System.out.println("不存在该电影"); this.getByName(); } } public void getByItem() { System.out.println("请输入时间段:"); String Item=input.next(); //listFilm=fdi.getByItem("15:00"); listFilm=fdi.getByItem(Item); if (listFilm != null) { System.out.println("序号"+"\t"+"电影名称"+"\t"+"英文名称"+"\t"+"导演"+"\t"+"演员" +"\t"+"影片类型"+"\t"+"票价"+"\t"+"播放时间"); for (Film film : listFilm) { System.out.println(film.getId() + "\t" + film.getName() + "\t" + film.getPoster() + "\t" + film.getDirector() + "\t" + film.getAcotr() + "\t" + film.getType() + "\t" + film.getPrice() + "\t" + film.getItem()); } listFilm.clear(); } else{ System.out.println("该时间段没有电影"); } menu(); } public void byTicket() { System.out.println("请输入电影名:"); String name=input.next(); System.out.println("请输入播放时间:"); String item=input.next(); // 返回该电影的座位信息 //Seat seat = fdi.getSeates("中国功夫", "15:00"); Film film=new Film(name, item); Seat seat = fdi.getSeates(film); if (seat != null) { String ticketType = null; boolean flagTicketType=true; while(flagTicketType){ System.out.println("请选择票的种类:1:普通票;2:学生票;3:免费票;"); int chose = input.nextInt(); switch (chose) { case 1: ticketType = "普通票"; flagTicketType=false; break; case 2: ticketType = "学生票"; flagTicketType=false; break; case 3: ticketType = "免费票"; flagTicketType=false; break; default: System.out.println("输入错误选项!!!"); break; } } printSeat(seat);//输出座位信息 boolean flagIndex=true; String index=null; while(flagIndex){ System.out.println("请选择座位:"); index = input.next(); if(seat.isSold(index)){//该座位已经卖出 System.out.println("该座位已经卖出!!!"); } else{ flagIndex=false; } } fdi.buyTicket(film, index, ticketType); System.out.println("购票成功!!!"); menu(); } else{ System.out.println("该电影不存在,或该电影没有此播放时间!!!"); this.byTicket(); } } @Override public void byDiscount() { // TODO Auto-generated method stub } @Override public void byFree() { // TODO Auto-generated method stub } //座位信息 public void printSeat(Seat seat){ System.out.println("************************屏幕************************"); for(int i=0;i<7;i++){ for(int j=0;j<7;j++){ System.out.print(seat.getSeats()[i][j]+"\t"); } System.out.println(); } } } package service.impl; import java.util.Scanner; import service.AdminService; import entity.AdminUser; public class Login { Scanner input =new Scanner(System.in); public void start(){ System.out.println("请选择登陆方式:1:管理员登录;2:普通用户登录;3:退出;"); int chose=input.nextInt(); switch(chose){ case 1: /*AdminUser admin=new AdminUser(); System.out.println("请输入用户名:"); String name=input.next(); System.out.println("请输入密码:"); String pwd=input.next(); if(name.equals(admin.getUserName())&&pwd.equals(admin.getUesrPassword()))*/ new AdminLogin().menu(); //else System.out.println("用户名和密码不匹配!!!"); break; case 2: new UserLogin().menu(); break; case 3:System.exit(0);break; default : System.out.println("输入错误的选择方式!!!"); this.start(); break; } this.start(); } } package service.impl; import java.util.ArrayList; import java.util.List; import java.util.Scanner; import dao.impl.FilmDaoImpl; import entity.Film; import entity.Seat; import service.AdminService; public class AdminLogin implements AdminService{ Scanner input=new Scanner(System.in); List<Film> list=new ArrayList<Film>(); FilmDaoImpl fdi=new FilmDaoImpl(); public void menu() { System.out.println("选择你的操作:1:查看;2:添加;3:删除电影;" + "4:修改电影;5:售票查询;6:返回上一层;7:退出;"); int chose=input.nextInt(); switch(chose){ case 1:getAll() ;break; case 2:addFilm();break; case 3:delFilm();break; case 4:upFilm();break; case 5:getTicket();break; case 6:break; case 7:System.exit(0);break; default : System.out.println("输入错误的选择方式!!!"); this.menu(); break; } } public void getAll() { int num=0; System.out.println("序号"+"\t"+"电影名称"+"\t"+"英文名称"+"\t"+"导演"+"\t"+"演员" +"\t"+"影片类型"+"\t"+"票价"+"\t"+"播放时间"); list=fdi.getAll(); //System.out.println(list.size()); for(Film film:list){ num++; System.out.println(film.getId()+"\t"+film.getName()+"\t" +film.getPoster()+"\t"+film.getDirector()+"\t" +film.getAcotr()+"\t"+film.getType()+"\t" +film.getPrice()+"\t"+film.getItem()); } list.clear(); menu(); } public void addFilm() { System.out.println("请输入电影名称:"); String name=input.next(); System.out.println("请输入英文名称:"); String poster=input.next(); System.out.println("请输入导演:"); String director=input.next(); System.out.println("请输入演员:"); String acotr=input.next(); System.out.println("请输入影片类型:"); String type=input.next(); System.out.println("请输入票价:"); String price=input.next(); System.out.println("请输入播放时间:"); String item=input.next(); Film film=new Film(name, poster, director, acotr, type, price, item); //Film film=new Film("东成西就", "e-w", "刘镇伟", "郑伊健", "喜剧", "150", "15:50"); fdi.addFilm(film); System.out.println("添加成功!!!"); menu(); } public void delFilm() { System.out.println("请输入删除的电影名称:"); String name=input.next(); System.out.println("请输入播放时间(输入all,则全部删除):"); String item=input.next(); Film film=new Film(name, item); boolean exist=fdi.delateFilm(film); //boolean exist=fdi.delateFilm("非常完美",time); if(exist){ System.out.println("删除成功!!!"); menu(); } else{ System.out.println("该电影不存在,或该电影没有此播放时间!!!"); this.delFilm(); } } public void upFilm() { System.out.println("请输入要修改的电影名称:"); String name=input.next(); System.out.println("请输入要修改的放映时间:"); String item=input.next(); System.out.println("请输入要修改的列表名称:"); String property=input.next(); System.out.println("请输入该列表修改后的值:"); String value=input.next(); //fdi.updateFilm("蜘蛛侠","14:00","播放时间","15:00"); //fdi.updateFilm("蜘蛛侠","14:00","影片类型","搞笑"); Film film=new Film(name, item); int message=fdi.updateFilm(film,property,value); switch(message){ case 0:System.out.println("更新成功!!!");menu();break; case 1:System.out.println("不存在该电影;");this.upFilm();break; case 2:System.out.println("不存在此电影的该播放时间;");this.upFilm();break; case 3:System.out.println("不存在该属性列表;");this.upFilm();break; } } public void getTicket(){ System.out.println("请输入电影名称:"); String name=input.next(); System.out.println("请输入电影播放时间:"); String item=input.next(); //Film film=new Film("中国功夫", "15:00"); Film film=new Film(name,item); Seat seat=fdi.getTicket(film); if (seat != null) { printSeat(seat); System.out.println("普通票:" + seat.getTicket().getOrdinaryNum()); System.out.println("学生票:" + seat.getTicket().getStudentNum()); System.out.println("免费票:" + seat.getTicket().getFreeNum()); menu(); } else{ System.out.println("该电影不存在,或该电影没有此播放时间!!!"); this.getTicket(); } } //座位信息 public void printSeat(Seat seat){ System.out.println("***************屏幕*****************"); for(int i=0;i<7;i++){ for(int j=0;j<7;j++){ System.out.print(seat.getSeats()[i][j]+"\t"); } System.out.println(); } } } package entity; public class Ticket { private String type; private int ordinaryNum=0; private int studentNum=0; private int freeNum=0; public String getType() { return type; } public void setType(String type) { this.type = type; switch(type){ case "普通票": ordinaryNum++; break; case "学生票": studentNum++; break; case "免费票": freeNum++; break; default:break; } } public int getOrdinaryNum() { return ordinaryNum; } public void setOrdinaryNum(int ordinaryNum) { this.ordinaryNum = ordinaryNum; } public int getStudentNum() { return studentNum; } public void setStudentNum(int studentNum) { this.studentNum = studentNum; } public int getFreeNum() { return freeNum; } public void setFreeNum(int freeNum) { this.freeNum = freeNum; } } package entity; public class Seat { private String index; private Ticket ticket; private Film film; private String[][] seats=new String [7][7]; public Seat(String index, Ticket ticket, Film film) { this.index = index; this.ticket = ticket; this.film = film; } public Seat(){ for(int i=0;i<7;i++){ for(int j=0;j<7;j++){ seats[i][j]=(i+1)+"-"+(j+1); } } } public String getIndex() { return index; } public void setIndex(String index) { String[] str=index.split("-"); setSeats(Integer.parseInt(str[0]),Integer.parseInt(str[1])); } public Ticket getTicket() { return ticket; } public void setTicket(Ticket ticket) { this.ticket = ticket; } public Film getFilm() { return film; } public void setFilm(Film film) { this.film = film; } private void setSeats(int x, int y) { seats[x-1][y-1]="已售"; } public String[][] getSeats() { return seats; } public boolean isSold(String index){ String[] str=index.split("-"); int a=Integer.parseInt(str[0]); int b=Integer.parseInt(str[1]); if(!seats[a-1][b-1].equals(index)){ return true; } else return false; } } package entity; public class Film { private int id; //序号 private String Name; //电影名称 private String Poster; //英文名 private String Director; //导演 private String Acotr; //演员 private String Type; //电影类型 private String Price; //电影价格 //private String Schedule; //时刻表 private String Item; //放映时间 public Film(){ } public Film(String name,String item){ Name = name; Item = item; } public Film(int id, String name, String poster, String director, String acotr, String type, String price, String item) { this.id = id; Name = name; Poster = poster; Director = director; Acotr = acotr; Type = type; Price = price; Item = item; } public Film(String name, String poster, String director, String acotr, String type, String price, String item) { Name = name; Poster = poster; Director = director; Acotr = acotr; Type = type; Price = price; Item = item; } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return Name; } public void setName(String name) { Name = name; } public String getPoster() { return Poster; } public void setPoster(String poster) { Poster = poster; } public String getDirector() { return Director; } public void setDirector(String director) { Director = director; }- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电影院 售票 管理 系统 范文
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【精****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【精****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文