基于C#实现的电影院售票管理系统

person 匿名

发布日期: 2019-01-01 18:20:12 浏览量: 2516
评分:
star star star star star star star star star star
*转载请注明来自write-bug.com

一、引言

1.1选题背景

随着互联网和电子商务的快速发展,网上购物已经成了现代人生活中很重要的一种方式,如:数码产品、生活用品、化妆品护肤品等,只要是人们需要到的东西,基本都可以在网上购买。除了购买各种物品,现代人的生活也不再向过去一样单调,除了学习和工作之余,人们的娱乐生活也逐渐丰富,最普遍的娱乐休闲方式之一就是到电影院看电影,那么传统的电影订票窗口显然已经不能满足人们的需要了,所以开发一个电影院网上订票系统是非常必要和可行的。以前传统的电影票订票方法是去电影院的购票窗口查看电影的上映时间、场次、可选座位等信息再进行购票,人们往往需要排队才能买到电影票,这样不仅浪费了人们宝贵的时间,而且电影院工作人员的工作量也很大,对于这种低效率、浪费时间的事情,完全可以以网上购票的方式来改变。

为了提高劳动的效率、节约成本、提高服务质量,我们小组开发了此款系统,用以方便影院的售票和客户的购买,通过这个系统,可以很快的实现会员注册、登录、购票,后台管理员可以新增影片、排片等基本操作。

二、需求分析

2.1 用户需求

需要在网上购买电影票的用户可使用本系统,进行会员的注册登陆之后可以进行网上查询电影、购买电影票等操作,省去了去电影院实体窗口排队买票的繁 琐程序。

2.2 系统功能分析

  • 新用户的注册、登录,用户数据能存在后台数据库中

  • 电影的录入、删除、查询、修改

  • 电影的排片

  • 管理员查询会员级别等信息

  • 会员查询影片信息

  • 会员购买电影票

2.3 条件与限制

系统可以实现一些基本的购票功能,但系统较简单,尚存在很多缺陷,不能实现完善和全面的功能。

缺陷:

  • 首先要使用admin进行登录才能开始注册会员

  • 购票后无法查看购票信息

  • 不可以支持选座

  • 购票时不能通过搜索影片名字等来查找影片

三、模块设计

3.1 系统流程图

系统流程图如图一所示:

系统功能图如图二所示:

3.2 系统使用指南

对于用户

首先,系统使用者先通过admin登录,进入到新用户注册页面,以管理员的身份为用户注册一个新的会员账号,已注册好的账号密码自动保存在后台数据库中,用户下次可以直接使用已注册的会员账号登录本系统进行电影的查询、购票等操作。

对于管理员

首先,管理员可以为新用户注册不同级别的会员账号、查看会员的信息。其次,管理员可在系统后台做电影的录入、删除、查询、修改等基本操作,除此之外,添加好影片后可以对电影进行的排片。

四、数据库设计及实现

4.1 系统E-R图

E-R图如图三所示:

4.2 逻辑结构设计(关系数据库设计)

  • 顾客(Cus、CusCard、CusType、CusTel(key))

  • 登陆(UserName、UsePwd、UserType)

  • 电影(Mname(key)、MBZ、MLanguage、MTYPE、MDirector、MACT、MTime)

  • 排片(MName(key)、MPrice、MRoom、Mcount、MTime、MBRQ、MERQ)

  • 上映(ID(key)、MName、MPrice、MRoom、MCount、MTime、MRQ)

  • 购票(PID(key)、Cname、GPCount、GPJE、MName、SYRQ、FYT、GPRQ、CZY)

4.3 数据库主要代码及触发器

会员信息

  1. CREATE TABLE [dbo].[Cus]
  2. (
  3. [CusTel] VARCHAR(50) NOT NULL PRIMARY KEY,
  4. [CusName] VARCHAR(50) NOT NULL,
  5. [CusCard] VARCHAR(50) NULL,
  6. [CusType] VARCHAR(50) NULL
  7. )

触发器

  1. SET ANSI_NULLS ON
  2. GO
  3. SET QUOTED_IDENTIFIER ON
  4. GO
  5. ALTER TRIGGER [dbo].[InsertULogin] on [dbo].[Cus]
  6. after insert
  7. as
  8. declare @username varchar(50)
  9. declare @userpwd varchar(50)
  10. select @username=CusTel from inserted
  11. select @userpwd= right(CusCard,6) from inserted
  12. insert into ULogin values(@username,@userpwd,'C')

购票信息

  1. CREATE TABLE [dbo].[GP]
  2. (
  3. [PID] VARCHAR(50) NOT NULL PRIMARY KEY,
  4. [CName] VARCHAR(50) NOT NULL,
  5. [GPCount] INT NULL,
  6. [GPJE] FLOAT NULL,
  7. [MName] VARCHAR(50) NULL,
  8. [SYRQ] VARCHAR(50) NULL,
  9. [GPRQ] VARCHAR(50) NULL,
  10. [CZY] VARCHAR(50) NULL,
  11. [FYT] VARCHAR(50) NULL
  12. )

触发器

  1. SET ANSI_NULLS ON
  2. GO
  3. SET QUOTED_IDENTIFIER ON
  4. GO
  5. ALTER TRIGGER [dbo].[UpdatePP] on [dbo].[GP]
  6. after insert
  7. as
  8. declare @MName varchar(50)
  9. declare @SYRQ varchar(50)
  10. declare @count int
  11. select @MName= MName,@SYRQ=SYRQ,@count=GPCount from inserted
  12. update MovieSY set mcount=mcount-@count where MName=@MName and MRQ=@SYRQ

电影信息

  1. CREATE TABLE [dbo].[Movie]
  2. (
  3. [MName] VARCHAR(50) NOT NULL PRIMARY KEY,
  4. [MLanguage] VARCHAR(50) NOT NULL,
  5. [MDirector] VARCHAR(50) NULL,
  6. [MAct] VARCHAR(50) NULL,
  7. [MName] INT NULL,
  8. [MBZ] VARCHAR(255) NULL,
  9. [MType] VARCHAR(50) NULL
  10. )

上映信息

  1. CREATE TABLE [dbo].[MovieSY]
  2. (
  3. [ID] INT NOT NULL PRIMARY KEY,
  4. [MName] VARCHAR(50) NOT NULL,
  5. [MRoom] INT NULL,
  6. [MCount] varchar(50) NULL,
  7. [MName] INT NULL,
  8. [MTime] VARCHAR(50) NULL,
  9. [MRQ] VARCHAR(50) NULL
  10. )

排片信息

  1. CREATE TABLE [dbo].[PP]
  2. (
  3. [MName] VARCHAR(50) NOT NULL PRIMARY KEY,
  4. [MPrice] INT NOT NULL,
  5. [MRoom] VARCHAR(50) NULL,
  6. [MCount] INT NULL,
  7. [MTime] VARCHAR(50) NULL,
  8. [MBRQ] VARCHAR(50) NULL,
  9. [MERQ] VARCHAR(50) NULL
  10. )

触发器

  1. SET ANSI_NULLS ON
  2. GO
  3. SET QUOTED_IDENTIFIER ON
  4. GO
  5. ALTER TRIGGER [dbo].[InsertPP] on [dbo].[PP]
  6. after insert
  7. as
  8. declare @MName varchar(50)
  9. declare @BRQ varchar(50)
  10. declare @ERQ varchar(50)
  11. declare @MTime varchar(50)
  12. declare @MRoom varchar(50)
  13. declare @MPrice int
  14. declare @MCount int
  15. declare @MBRQ datetime
  16. declare @MERQ datetime
  17. declare @RQ varchar(50)
  18. select @MName= MName,@BRQ=MBRQ,@ERQ=MERQ,@MTime=MTime,@MRoom=MRoom,@MPrice=MPrice, @MCount=MCount from inserted
  19. set @MBRQ=CONVERT (datetime,@BRQ)
  20. set @MERQ=CONVERT (datetime,@ERQ)
  21. while @MBRQ<=@MERQ
  22. begin
  23. set @rq=CONVERT(varchar(50), @MBRQ, 112)
  24. insert into MovieSY values(@MName,@MPrice,@MRoom,@MCount,@MTime,@RQ)
  25. set @MBRQ=DATEADD(DAY,1,@MBRQ)
  26. end
  27. CREATE TABLE [dbo].[MovieSY]
  28. (
  29. [UserName] VARCHAR(50) NOT NULL PRIMARY KEY,
  30. [UserPwd] VARCHAR(50) NOT NULL,
  31. [UserType] VARCHAR(50) NULL
  32. )

五、系统设计与实现

5.1系统开发环境

  • 硬件环境

    • Intel Pentium 166MHz或以上;
    • 内存:需要至少512MHZ;
  • 软件环境

    • 运行于Windows2010版的操作系统之上;
    • SQL Server2008数据库;
    • Visual Studio2013;

5.2 功能模块

  • 输入功能模块

  • 查询显示功能模块

  • 查询、售票功能模块

  • 登录、注册功能模块

5.3 系统主要页面展示

登录、注册页面

登陆后的页面

会员注册页面

会员信息查询页面

添加影片页面

查询修改影片页面

排片页面

“排片”页面通过连接数据库,可以搜索影片的名字、导演、主演来选择影片,再输入票价,放映大厅,座位数,放映时间等信息,最后确认排片。

购票页面

购票页面通过对获得的已经被排片的电影进行选择而进行购票这一操作。在购票前需填入购票数量、联系电话,系统会自动计算合计金额。之后点击购票按钮则能进行购票操作。但一旦购票成功则不能进行退票操作,也不能查看所购买的电影票。

数据库页面

六、主要特色

6.1 系统实用性

系统首先可以进行新用户的注册,用户数据能存在后台数据库中。管理员可以进行电影的录入、删除、查询、修改,添加好影片后进行电影的排片。退出登录后再使用之前注册的会员登录,可以购买电影票。

6.2 突出优势和特色(创新点)

  • 购票时可以看到影片的导演、主演等信息

  • 用户分为钻石用户,白金用户和普通用户,对用户进行了分类

7 小结

数据库技术课程设计是一次对课堂所学知识的灵活应用,是理论知识与实践的相结合。经过了一周的课程设计,本系统基本达到了当初的设计要求,设计上也基本合理。我们不仅对数据库系统的认识更加深入,同时也掌握了面向实体的系统分析的基本方法,对VS也有了新的认识,也知道了要有坚持不懈,不惧困难的精神,才能取得成功。一个简单的系统,每一个细节都需要在实践中去挖掘并进行进一步的修改完善。本次课设让我们受益匪浅,在分析问题以及解决问题等方面的能力有所提高,也是一次很好的同学之间交流合作的机会。数据库技术的用途很广,还有很多值得我们学习,希望今后能有更多这样的机会。

上传的附件 cloud_download 影院售票管理系统.rar ( 243.66kb, 74次下载 )
error_outline 下载需要18点积分

keyboard_arrow_left上一篇 : 基于C++求解立方数码问题 Qt实现的基于平衡二叉树和倒排的关键词搜索系统 : 下一篇keyboard_arrow_right



笙笙息
2019-04-08 13:20:06
不错,感觉很厉害
ly
2019-04-18 16:16:22
请问购买了怎么下载
ZJ882323
2019-04-23 13:56:09
只有代码没有数据库吗?
北山野人啊
2019-04-29 22:43:26
请问数据库账号和密码是多少啊?分享一下数据库好嘛
一壶浊酒
2019-06-29 16:47:11
这个系统是什么框架的呢,是B/S还是C/S呢?
柠丶小萌
2019-09-05 10:53:37
能给数据库吗

eject