学生电影票购票程序(已完成请评分)
20年3月25日 · 徐一君 2999 人阅读
1、功能介绍
本程序所实现的功能是一个学生电影票购票系统。
学生可以在登录之后充值,可选座购买3天内共27个电影场次的电影票。
2、窗口运行界面
3、功能实现详析
1)学生登录
由于此程序为学生购票,即默认为某校学生,因此无需注册,只需通过学号登录即可,如果学生未登录即参与购票将不会实现;密码少于8位将被弹窗提醒。
登录后左下角将出现“xx当前账户余额为0元”。
2)充值
学生可以在登陆之后完成充值,充值过后左下角出现将当前账户余额提醒。
3)选票&选座
学生在登录过后,可通过界面中央的下拉列表选择电影名称、日期以及开场时间,在界面右侧的区域点击选座。
完成选座过后,在界面中间的最后一行将出现选择座位的排座数。
4)支付
学生在完成选座之后,可以根据电影的不同价格,点击界面左侧支付按钮,支付相应的价格,若余额不足将会被提醒。
若学生在“电影名称”、“日期”、“开场时间”、选座四项中有任意一项未完成选择,将无法支付。
完成支付之后左下角账户余额处的数字会减去相应数额,并会出现两次弹窗,一次弹窗告知已付出的金额,点击关闭之后,将再出现一个弹窗,提供选购成功的电影信息,其中包括电影名称、开场日期、时间、座位号、以及系统随机生成的6位数取票码。
4、亮点
个人认为,本程序虽然有各种不足和潜在bug,具体投入使用时也必然还需要大量修改,但是,我已经尽力使程序、界面以及用户体验更加便利和简洁,让此购票系统和我们日常生活中所使用的电影购票系统有类似体验。
5、不足
本程序包含许多bug,尤其是对于一个电影购票系统来说,在真正使用时尚且不够成熟。以下是我在我的程序中发现的一些bug,希望老师和助教老师进行指正和补充。
bug1)我意识到的一个明显bug是,如果一个用户选择了一个座位,但我的系统中并未对此前所购的座位进行保存,用户可能会再一次选择同样的座位而完成支付,而这在正常情况下不应当出现。
我曾尝试过将被选过的座位保存至字典中,若再次选择则向用户报错,尝试之后,我能够实现提醒同一座位被选择的功能,但其对象为所有场次的同一座位。由于我设定的场次多达27场,而我在函数中实现支付等功能时所用的算法比较繁琐,如果要实现所有可能性,在我的代码中将会非常非常复杂。
bug2)在登录的功能中,无法保存用户数据。在登录其他账号后,再次登录之前的账号,所充值的金额也被清零。
6、展望
对于本程序,除了解决我目前所发现的bug外,我的想法是:由于我的程序的基础为学生购票,即建立于已知学生信息之上,可以添加一份学生信息表格,将学生信息与购票系统中登录购票信息相对应,并将购票信息存入已有表格当中。
7、实现代码
Python3Turtle