欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    车站售票管理系统设计.docx

    • 资源ID:7693440       资源大小:185.90KB        全文页数:40页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    车站售票管理系统设计.docx

    1、车站售票管理系统设计 程序设计实习报告题目:车站售票管理系统 姓名: 学号: 110XXXXX 班级: 应用物理11-2 同组者: 第一章 实训内容总述本小组项目的基本描述,适用范围及功能介绍 我们小组设计课题为“车站售票管理系统”。系统主要功能是进行退售票管理,发车时间、车辆班次、始终点站、行车时间、票价、额定载量、售出票数等信息的录入,以及进行班次信息查询。能实现对班次信息的输入浏览、修改、删除,可分别根据发车时间、到站及其组合查询班次信息,也能够为用户提供车票信息的查询,方便用户进行退订票操作,最后还增加了售票统计功能,使得售票信息清晰地展现。本系统能够将各种信息及时保存于文档内,能够及

    2、时自动更新班次以及车票信息。我们的车站售票管理系统可应用于各类车站,对车站班次车票的基本信息进行综合管理和快速查询。可以节省在车站信息管理花费的人力和物力。同时可以使得车站管理人士随时随地的掌握班次信息,更简捷的对车站班次以及售票信息进行统计与管理,有助于提高车站的整体管理水平。第二章 课题要求1、题目要求主要内容:设计一个车站售票管理系统,实现售票管理的自动化,主要任务是用计算机对每个汽车班次的信息进行管理,包括用户验证、班次数据维护、售票管理等模块,实现班次信息的录入、修改、删除、查询以及售票、退票和售票统计等一系列功能。要求用键盘以选择菜单方式工作。数据格式用户数据:包括用户名char(

    3、10)、密码char(10)、用户类型(A:管理员,S:售票员)char(1)汽车班次数据:班次char(10)、到站char(10)、发车时间char(6)、票价、座位数、剩余票数数据文件用户数据文件user.txt,保存系统用户数据,每个用户的数据为一条记录班次数据文件bus.txt,存放车站的发车班次数据,每个班次的数据为一条记录用户验证系统运行后,首先要求用户登录,提示用户输入用户名和密码,若用户名或密码不对,提示用户并要求重新输入;若通过验证,则根据用户的类型分别进入系统管理界面或者售退票界面班次数据维护(只有管理员有权操作)录入班次信息:输入一个班次信息修改班次信息:根据班次号修改

    4、某个班次信息删除班次信息:根据班次号删除某个班次信息查询班次信息:分别根据发车时间、到站及其组合查询班次信息售退票管理(售票员)售票:首先根据到站地点和发车时间查询班次及剩余票数,若存在并且剩余票数大于购票数,则售票并计算出票价,否则,给出提示信息退票:根据班次进行退票处理统计:统计输出当日到达各地的班次、售票数、金额关于文件操作系统运行时,自动读取用户数据文件和班次数据文件,若该文件不存在,则建立该文件;若文件存在,则从中读取相关信息,根据提示选择添加、修改、删除记录,添加班次信息时,若该班次的记录已经存在,则应给出提示信息,并不能添加到文件中,当班次信息发生变化后应修改班次信息文件系统采用

    5、模块化设计,并且程序中有适当的注释2、我的任务本次我的任务是负责管理员模块的制作,具体包括录入班次,修改班次,删除班次,查询班次,退出系统五个大模块。在程序编写过程中,为达到预定目标以及方便小组成员间的资源共享,我们采取的是函数模块设计方式。在此过程中,我书写了班次信息管理主菜单函数,录入判断函数,录入函数,修改及增加班次函数,修改函数,删除函数,增加函数,以及跟我组成员共同完成了退出函数,查询函数,班次查询函数,保存函数,打印表头函数,显示所有函数等。第三章 分析设计一、 设计要点(1)、输入班次信息,包括要增加的班次数目,班次,发车时间,始发站,终点站,行车时间,额定载量,已售票量,票价;

    6、(2)、输入班次号进行班次信息修改;(3)、删除相应的班次信息;(4)、对班次信息进行查询,包括全部浏览显示,按发车时间查询,按终点站查询;二、设计总体流程图三、 分函数模块程序图1、 录入函数 2、修改函数 是 3、 删除函数第四章 关键代码实现说明1、结构体定义: typedef struct TICKET /定义新结构体TICKET char num10; /车次编号 char hour3; /时间,小时 char min3; /分钟 char from10; /起始站 char to10; /终点站 float hours,price; /车程实际时间、车票价格 int max; /最

    7、大车载容量 int now; /已售票数CLASS;2、文件结构:二进制文件班次、发车时间、起点站、终点站、行车时间、总座位数、剩余数、票价文本文件姓名、密码、人员类型3、函数定义:(1)在进入相应菜单时要输入姓名跟密码进行身份验证;char userLogin() (2)进入相应菜单选择所进行的操作;void busMenu()(3)录入相应班次信息;void addBus()(4)修改指定班次的班次、发车时间、起点站、终点站、行车时间、总座位数等信息;void change()(5)删除指定班次的基本信息;void deletemessage()(6)按照发车时间,发车班次查询相应班次信息

    8、;void search()(7)录入增加的班次、发车时间、起点站、终点站、行车时间、总座位数等信息;void add()(8)读经保存后文档中的班次信息;void load()(9)保存相应的班次信息;void save() (10)显示班次信息;void ShowTable1()、void ShowTable2()(11)退出学生信息系统;void quit()4、关键函数体分析说明1、void busMenu() 该模块功能为管理菜单能进入各个模块分析主模块算法:输出主菜单后键盘输入0-4并回车,进入相应应用;分析主菜单模块的N-S图 输入选择z Z=1? 2? 3? 4? 0? Z=1

    9、进入增加班次模块Z=2 进入修改班次模块Z=3进入删除班次模块Z=4进入查询班次模块Z=0进入退出界面模块2、void addBus()该模块功能为按所提示的要求输入班次的各项基本信息;分析输入班次信息模块的N-S图 输入要输入的班次数目 n=0 p=class_num 依次按要求输入班次各项信息 是 y=1 否 y=0 n+ 是 否 p+ 输入完毕 无效选项 y=1保存路入班次的各项基本信息3、 void change()修改指定班次的班次、发车时间、起点站、终点站、行车时间、总座位数等信息分析修改学生信息模块的N-S图 请输入要修改的班次号 打开文档,调用相应班次信息请输入班次号请输入发车

    10、时间请输入始发站请输入终点站请输入行车时间请输入额定载量请输入已售票数符合数据类型是 否符合数据类型是 否符合数据类型是 否符合数据类型是 否符合数据类型是 否符合数据类型是 否符合数据类型是 否修改班次无效输入修改时间无效输入修改地点无效输入修改地点无效输入修改时间无效输入修改数量无效输入修改价格无效输入保存修改后的班次信息,返回修改菜单4、 void deletemessage()该函数功能是删除多与学生信息分析删除学生信息模块的N-S图: 输入待删除班次信息的班次号num ij空 j!=n-1 T F ee 删除班次信息 e+j+p-n-;p- 保存删除后班次信息文档第五章 总结在短短五

    11、天的实习期间使我获取了不少新知识也巩固了许多老知识。我体会到了老师和同学们的热心帮助,无论面对学习中多大的困难,同学们都会帮助你,老师也会帮助你,大家就像兄弟姐妹一样。老师安排我们有具有的分工: 首先,在计算机机房里同学们积极的对C语言进行巩固与实习,老师热心的讲解同学们提出的问题和实习过程中应该注意的事项和同学们的任何。老师把我们分为几组,每一组三个人,并且分配了具体的任务,在我们实习结束后每一组的同学都把自己组里的成果展示给大家一起分享,告诉大家编程的原理、方法等,使同学们既有动手能力,又能提高语言表达能力。然后同学们把自到自己的小组里,大家具体分工,你编这道题,我编这道题我们不会的地方就

    12、去问学习比较好一些的同学,或者去问老师,老师和同学们总是那么的热心,只要你还不明白,不论你问多少次,老师和同学们都会耐心地给你细心的讲解,直到讲会为止。最后我们把每天收获到的知识和心得都以实习日志的形式写好,最后交给老师。我们把自己的成果交给老师,就这样,这次实习圆满结束。这次实习是有益的,它不仅让我们学习到了C语言的知识,更让我们学习到了同学们之间的那种团队精神,为我以后踏入社会工作准备了很多良好的知识与经验。这次实训有很大的收获,让我对C语言有了更深的认识,平时在课堂上学到的东西可以自己动手编写,将其转化成一些实用的技能。如果是一个程序写完一处错误也没有,会有种成就感,于是兴趣就来了,兴趣

    13、来了,自然学的东西也就多了,能把理论变成实际的技能,让我对C语言有了浓厚的兴趣和更深层的认识。C语言是一个有序的学习,学了最基本的替换,然后扩展到循环,嵌套,条理很清楚,不是一个零散的知识,实际上所有的课程都如此,不过通过实训我也知道了自己的不足,存在的很多问题。比如自己写的写的小程序出了问题,不会解决了就叫老师帮忙,虽然说一定意义上增加了师生之间的感情,但是会养成一种依赖的心理,碰到问题了第一个想到的是求助而不是自己独立解决,所以以后要多多锻炼自己的信心和增加自己的能力,争取做到老师不在身边的时候也可以完成一些简单的程序编写与错误排除。还有自己的基础知识不扎实,遇到的问题,没有很好的逻辑思维

    14、,亲自编写一个陌生的程序的时候会有种无法下手的感觉,找不到突破口。通过实训,逐渐理清了顺序,对于简单的程序和一些相对比较繁琐的嵌套,循环,不在是看着一头雾水。其实只要理清了思路,把基础知识掌握了,然后有条不紊的分析,一步一步理解,C语言还是很有意思的课程。自己亲自动手编写程序让我增加了对C语言程序开发环境的了解,在上课的时候老师就讲,学习C语言最重要的是学习C语言的逻辑思维,不管以后从事什么行业,学习C语言都对自己的职业很有帮助,如果是从事编程工程工作的话,就更有帮助了,即使以后的编程工作可能不用C语言,但是拥有扎实的C语言基础是对工作很有用的。第六章 附录(源程序代码)#include #i

    15、nclude #include #include #include #define N 50/声明用户数据类型typedef struct TICKET /定义新结构体TICKET char num10; /车次编号 char hour3; /时间,小时 char min3; /分钟 char from10; /起始站 char to10; /终点站 float hours,price; /车程实际时间 int max; /最大车载容量 int now; /已售票数CLASS;int class_num=0; /初始班次总数为0 CLASS recordsN;int system_time()

    16、;int whether(int);void busMenu();void ticketMenu();void ShowTable1(); /线框调用1,不用没次输 void ShowTable2(int i); /线框调用2,不用没次输 void save(); / 保存函数void load(); / 按班次查询函数void search(); /查询函数void change(); /修改函数* void quit(); / /退出函数*void Ticketorder(); / /*售票函数* void Ticketdelete(); /删除函数*int whether(int); /

    17、判断时间是否超出函数*void find(char s1,char s2); /查询函数/s1为班次/s2为终点站void deletemessage(); /删除函数int findnum(char s1); /班次查询函数void get(int,int); /* 验证用户合法性 */char userLogin() char uType;FILE *fp;int a=0,m=1, leap=0,i;char nam10,key10,type10,name10,pass10;while(!leap) i=0; fp=fopen(D:user.txt,rb); if(a3) printf(n

    18、ntt 欢迎使用售票管理系统 n); printf(ntt=n); printf(ntt 请输入用户名:); gets(name); printf(ntt 请输入密 码:); while(i=9&(passi+=getch()!=r) /使输入的密码字符显示为星号字符* putchar(*); passi-1=0; while(!feof(fp) fscanf(fp,%s%s%s,nam,key,type); if(strcmp(name,nam)=0&strcmp(pass,key)=0) leap=1; uType=type0; break; if(!leap) a+; printf(输入

    19、有误,请重新输入!n);system(cls); if(a=3) printf(你的登录次数已达到三次,您无权继续登陆!n); break;fclose(fp);return uType;/*按班次查询函数*/void load() /按班次查询函数 FILE *fp1,*fp2; if(fp1=fopen(d:bus.txt,rb)=NULL) system(cls); /刷屏 printf(文件打开错误!n); getch(); /从控制台读取一个字符,但不显示在屏幕上 exit(0); if(fp2=fopen(d:bus0.txt,rb)=NULL) system(cls); /刷屏

    20、printf(文件打开错误!n); getch(); /从控制台读取一个字符,但不显示在屏幕上 exit(0); /退出 fread(&class_num,sizeof(int),1,fp2); /读入信息 fread(records,sizeof(CLASS),class_num,fp1);/读入信息 fclose(fp1);fclose(fp2); /文件关闭/*修改及增加班次*/ / 修改及增加班次*void get(int i,int j) for(;) printf(请输入发车时间(xx xx):n);scanf(%s%s,recordsi.hour,recordsi.min); i

    21、f(atoi(recordsi.hour)=0)&(atoi(recordsi.min)=0) break; else printf(输入错误!n); getch(); /从控制台读取一个字符,但不显示在屏幕上 printf(请输入起点站:n); scanf(%s,recordsi.from); printf(请输入终点站:n); scanf(%s,recordsi.to); printf(请输入行车时间:n); scanf(%f,&recordsi.hours); printf(请输入额定载量:n); scanf(%d,&recordsi.max); printf(请输入票价:n); sca

    22、nf(%f,&recordsi.price); for(;) printf(请输入已售票数:n); scanf(%d,&recordsi.now); if(recordsi.now=recordsi.max) break; else printf(输入错误!n); getch(); /从控制台读取一个字符,但不显示在屏幕上 /*保存函数*/void save() /保存函数 FILE *fp1,*fp2; /文件行指针 if(fp1=fopen(d:bus.txt,wb)=NULL) /打开文件、为输出打开一个二进制文件 printf(文件打开错误!n); exit(0); if(fp2=fo

    23、pen(d:bus0.txt,wb)=NULL) /打开文件、为输出打开一个二进制文件 printf(文件打开错误!n); exit(0); fwrite(&class_num,sizeof(int),1,fp2); /写入文件信息 fwrite(records,sizeof(CLASS),class_num,fp1); fclose(fp1);fclose(fp2); /关闭文件/*增加函数*/void add() / /增加记录 int i,t,j=5,n; load(); / 调用按班次查询函数 system(cls); /刷屏 printf(请输入要增加的班次数目:n); scanf(

    24、%d,&n); /指向班次指针 system(cls); /刷屏 for(t=0;tn;t+) printf(请输入第%d个班次信息:n,t+1); printf(请输入要增加的班次:n); scanf(%s,recordsclass_num.num); for(i=0;iclass_num;i+) if(strcmp(recordsclass_num.num,recordsi.num)=0) /判断字符串比较是否相等, 待比较的字符串 判断车次没重复 printf(输入错误!该班次已存在!请安任意键继续输入n); getch(); system(cls); /刷屏 break; if(i=c

    25、lass_num) get(i,j); /修改及增加班次* class_num+; /使班次数加1 save(); /调用保存函数 system(cls); /刷屏 printf(信息录入完毕,请按任意键返回管理界面n); getch(); system(cls); /刷屏 busMenu();/调用班次管理函数/*增加函数*/void NewMessage() /*录入函数* int i,j=5,h;/ FILE *fp; /定义文件型指针变量 system(cls);/刷屏 fp=fopen(d:bus0.txt,rb); printf(请输入要增加的班次数目:n); scanf(%d,&class_num); /指向班次指针 system(cls); /刷屏 for(i=0;iclass_num;i+) system(cls); /刷屏 printf(请输入第%d个班次信息:n,i+1); h=-1; for(;h!=i;) /循环输出 printf(请输入班次:n); scanf(%s,recordsi.num); for(h=0;hi;h+) if(strcmp(recordsh.num,recordsi.num)=0) /判断字符串比较是否相等, 待比较的字符串 printf(输入错误!该班次


    注意事项

    本文(车站售票管理系统设计.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开