第一篇:火车票工作总结
火车票订购业务:
本年度上学期2012寒假火车票订购工作顺利开展,共为公管学子成功订购返乡返校火车票210张,极大方便了广大同学特别是省外同学寒假春运出行。在此次寒假火车票工作开展中,我部总结上一年度工作经验,对订购流程做了相应合理性调整。及时发布和更正铁道部与后勤处的订票信息,第一时间让同学了解订票变动,做好了相应的信息传达工作。在此次订票过程中,我部工作人员顶住了订票实名制工作繁琐,学期末复习期间时间紧张,工作同时培养干事任务艰巨的阻力与压力,在成功为同学订票的同时培养和锻炼了干事。
在此次2012寒假火车票订购工作中,我们也存在一些问题亟待解决,如面对订票信息更正频繁和一部分省内地区订购不到火车票,我部未能很好通过生活委员做好订票同学的思想工作;对于工作期间部门干事的工作安排不太合理,未能充分调动其主观能动性;一些订购流程可以继续优化简化等。
对于下学期2012暑假火车票的订购工作设想,我部将认真总结以往工作经验特别是上学期寒假火车票的工作经验,认真提前做好准备。在订票工作为正式开展前进行实名制,网上、电话订购火车票等相关火车票内容的信息传达工作,在订票工作中简化流程,及时传达信息,方便学生订票,同时也减少部门的工作量。在订票工作结束后进行适当的订票服务意见反馈,及时有效了解广大同学对于我部订购火车票的工作意见,收集切实可行的意见与建议。努力保证以“为公管学子服务”的工作姿态顺利完成2012暑假火车票订购工作。
第二篇:春节火车票
2014年春节火车票
2014年春节马上就要来了,大家很关心2014年春节火车票什么时候买,2014年春节火车票如何买,2014年春节火车票哪里买。下面小编就大家所关心的这些问题做介绍。2014年春节火车票预售期
根据铁道部最新规定,全国调整火车票预售期,目前,通过网络以及电话方式预订火车票预售期改为20天(含购票当日),在火车站及代售点购买火车票预售期为18天(含购票当日)。由于每年春运学生潮较为庞大,为了缓解莘莘学子这种春运压力,学生票预售期调整为30天(含购票当日)。
根据2014年春运时间可推知2014年春节火车票预售期,2014年春运时间:1月15日-2月24日,2014年春节火车票预售期:
2013年12月26日起,广大旅客即可购买2014年1月14日火车票;2013年12月27日起,旅客进入2014年春节火车票预售期,旅客可通过网上订票以及电话订票的方式预订2014年春节火车票;2013年12月29日起,旅客可在火车站以及代售点购买2014年春节火车票。
2014年春节寒假学生票预售期
根据铁道部规定,我国学生票优惠时间寒假时间为12月1日至3月31日,而我国学生票预售期为30天,2013年11月2日起,广大学生旅客即可通过网络或电话的方式预订火车票学生票。
2014春运空调列车可充电
2014年春运起,我国空调车将对电源插座通电,届时,广大旅客的手机、电脑等电子产品将可在车上进行充电。但是,此次开放的AC220V交流插座,只限与手机、笔记本电脑、平板电脑、移动充电器、电动剃须刀的充电,不支持大功率如电磁炉等电器。
第三篇:火车票管理系统
火车票管理系统一、课题内容和要求
改系统要求实现一个简单、实用的火车票管理程序,主要功能包括火车票数据的录入、查找、删除、显示、售票、退票等。所有火车票数据都要利用文件系统保存,以备系统下次运行时使用。通过此课题,熟练掌握文件、数组、指针的各种操作,以及一些基本算法思想的应用。
二、需求分析
功能框架图:(见图2-1)
火车票管理系统
录入
查找
删除
排序
售票
退票
保存
图2-1。
1.新增火车票数据记录:预先建立一个txt文档,存入数据,然后在程序中读取文档。
2.查找火车票数据(可按车次,发车时间、起点站、终点站等查找)。
3.删除火车票数据记录(先查找,再删除。若查找出多条记录,则进一步提示用户选择记录的车次,再删除)。
4.对火车票排序(可按车次、发车时间、起点站、终点站等排序。)。
5.显示当前所有火车票信息列表。
6.售票(先查找,当确定车次后,根据售票张数对该车次的已售票人数进行修改)。
7.退票(售票的逆处理,过程与售票类似)。
8.保存火车票数据到文件中。
9.从文件中读入火车票数据。
三、概要设计
1)主要结构体:
struct
time
{
int
hour;
int
minutes;
};
struct
ticket
{
char
SerialNumber[10];
struct
time
SetOut;
char
DeparturePoint[MAX];
char
TerminalPoint[MAX];
float
LastTime;
int
FixNumber;
int
FixedNumber;
}train[N];
2)主要函数流程图:
l
载入函数:用于从文本中载入信息。(见图3-1)
打开文本
能否打开
读入数据
是否结束
结束
否
否
开始
开始
否
是
是
读入车次
是否符合输出信息
结束
是
图3-2
图3-1
l
查找函数:利用输入的车次或站点进行顺序查找并将找到的信息输出。(见图3-2)
l
删除函数:先查找出要删除的信息再删除。(见图3-3)
否
否
是
无法订票
人数加一
是否超载
否
图3-4
结束
开始
读入车次
是否误点
否
图3-3
是
是
否
是否符合读入车次
开始
记录下标i
i=i+1,i++
i<车次总数-1
结束
l
售票退票函数:先判断该车是否已发车,若未发车且人未满则订票成功,否则无法订票退票。(见图3-4)
l
备份文件函数:将文件内容存储到用户给定的地址中(见图3—5)
图3-5
l
排序函数(见图3-6)
图3-6
四、源程序代码
#include
#include
#include
#include
#include
#include
const
int
MAX=20;
const
int
N=50;
const
int
MAXFILENAME=100;
enum
{FALSE,TRUE};
struct
time
{
int
hour;
int
minutes;
};
struct
ticket
{
char
SerialNumber[10];
struct
time
SetOut;
char
DeparturePoint[MAX];
char
TerminalPoint[MAX];
float
LastTime;
int
FixNumber;
int
FixedNumber;
}train[N];
int
RecordNumber;
int
FLAG=FALSE;
/**********************************************/
int
ShowMessage(void);
//载入原始数据
void
mainmenu(void);
//主菜单
void
InsertMessage(void);
//录入班次信息
void
SearchMenu(void);
//查询路线子菜单
void
SearchByNumber(void);
//按班次号查询
void
SearchByAddress(void);
//按终点站查询
void
cancle(void);//删除数据
void
selection(ticket
*pa,int
n);//排序
void
TicketManagement(void);
//车票售出与退回
void
TicketOrder(void);
//售票
void
TicketDelete(void);
//退票
void
exit(void);
//退出该系统
void
SaveRecord(ticket
x);
//储存信息到文件中
/********************************************/
int
main(void)
{
do{
mainmenu();
}while(FLAG==FALSE);
return
0;
}
void
mainmenu(void)
{
system(“mode
con:
cols=140
lines=130“);
char
functionNumber;
printf(“
火车票管理系统\n\n“);
printf(“============================================================================\n“);
printf(“
1.录入班次信息\t\n“);
printf(“
2.显示所有车票信息列表\t\n“);
printf(“
3.查询火车票数据\t\n“);
printf(“
4.删除火车票数据记录\t\n“);
printf(“
5.按行车时间排序\t\n“);
printf(“
6.售票与退票系统\t\n“);
printf(“
7.退出该系统\t\n“);
printf(“============================================================================\n“);
printf(“请选择你所需要的功能:“);
scanf(“%c“,&functionNumber);
switch(functionNumber)
{
case
'1':
{
InsertMessage();
printf(“\n按任意键回主菜单......\n“);
getchar();
getchar();
}
break;
case
'2':
{
RecordNumber=ShowMessage();
printf(“\n按任意键回主菜单......\n“);
getchar();
getchar();
}
break;
case
'3':
{
SearchMenu();
printf(“\n按任意键回主菜单......\n“);
getchar();
getchar();
}
break;
case
'4':
{
cancle();
printf(“\n按任意键回主菜单......\n“);
getchar();
getchar();
}
break;
case
'5':
{
selection(train,RecordNumber);
printf(“班次\t发车时间\t起点\t终点\t行车时间(小时)\t额定载量\t已定票人数\n“);
int
i;
for(i=0;i { printf(“%s\t%d:%d\t\t“,train[i].SerialNumber,train[i].SetOut.hour,train[i].SetOut.minutes); printf(“%s\t%s\t\t%.1f\t %d\t\t%d\n“,train[i].DeparturePoint,train[i].TerminalPoint,train[i].LastTime,train[i].FixNumber,train[i].FixedNumber); } printf(“\n按任意键回主菜单......\n“); getchar(); getchar(); } break; case '6': { TicketManagement(); getchar(); getchar(); } break; case '7': { int i; FLAG=TRUE; for(i=0;i { SaveRecord(*(train+i)); } exit(); } break; default: { printf(“输入错误,请确保你的输入为1--7.\n“); printf(“按任意键回主菜单......\n“); getchar(); getchar(); } }//switch ends FLAG=FALSE; } void InsertMessage(void) { FILE *fp; char filename[MAXFILENAME]; int i; printf(“请输入文件名或者文件路径名:“); scanf(“%s“,filename); if((fp=fopen(filename,“r“))==NULL) { printf(“文件%s不可读,请确认文件%s存在或者文件路径正确.\n\n“,filename,filename); mainmenu(); } for(i=RecordNumber;!feof(fp)&&!ferror(fp);i++) { fscanf(fp,“%s%d%d“,&train[i].SerialNumber,&train[i].SetOut.hour,&train[i].SetOut.minutes); fscanf(fp,“%s%s%f%d%d“,&train[i].DeparturePoint,&train[i].TerminalPoint,&train[i].LastTime,&train[i].FixNumber,&train[i].FixedNumber); } RecordNumber=i; /*******************************输出更新后的订票记录************************************************************/ printf(“班次\t发车时间\t起点\t终点\t行车时间(小时)\t额定载量\t已定票人数\n“); for(i=0;i { printf(“%s\t%d:%d\t\t“,train[i].SerialNumber,train[i].SetOut.hour,train[i].SetOut.minutes); printf(“%s\t%s\t\t%.1f\t %d\t\t%d\n“,train[i].DeparturePoint,train[i].TerminalPoint,train[i].LastTime,train[i].FixNumber,train[i].FixedNumber); } fclose(fp); } int ShowMessage(void) { int i; FILE *fp; if((fp=fopen(“add.txt“,“r“))==NULL) { printf(“读取数据失败,请检查文件add.txt是否存在.\n“); exit(-1); } for(i=RecordNumber;!feof(fp)&&!ferror(fp);i++) { fscanf(fp,“%s%d%d“,&train[i].SerialNumber,&train[i].SetOut.hour,&train[i].SetOut.minutes); fscanf(fp,“%s%s%f%d%d“,&train[i].DeparturePoint,&train[i].TerminalPoint,&train[i].LastTime,&train[i].FixNumber,&train[i].FixedNumber); } int count=i; printf(“班次\t发车时间\t起点\t终点\t行车时间(小时)\t额定载量\t已定票人数\n“); for(i=0;i { printf(“%s\t%d:%d\t\t“,train[i].SerialNumber,train[i].SetOut.hour,train[i].SetOut.minutes); printf(“%s\t%s\t\t%.1f\t %d\t\t%d\t“,train[i].DeparturePoint,train[i].TerminalPoint,train[i].LastTime,train[i].FixNumber,train[i].FixedNumber); printf(“\n“); } return count; } void SearchMenu(void) { system(“mode con: cols=140 lines=130“); char functionNumber; printf(“ 查询子菜单\n“); printf(“============================================================================\n“); printf(“ 1.按班次号查询\t\n“); printf(“ 2.按终点站查询\t\n“); printf(“ 3.返回主菜单\t\n“); printf(“============================================================================\n“); printf(“请选择你所需要的功能:“); scanf(“%*c%c“,&functionNumber); switch(functionNumber) { case '1':SearchByNumber();break; case '2':SearchByAddress();break; case '3': getchar(); mainmenu(); break; default: printf(“输入错误,请确保你的输入为1--3.\n“); printf(“按任意键回查询子菜单......\n“); getchar(); getchar(); SearchMenu(); } } void SearchByNumber(void) { int i; char Number[MAX]; printf(“请输入班次号:“); scanf(“%s“,&Number); printf(“班次\t发车时间\t起点\t终点\t行车时间(小时)\t额定载量\t已定票人数\n“); for(i=0;i { //对比终点站记录,找到并输出 if((strcmp(Number,train[i].SerialNumber))==0) { printf(“%s\t%d:%d\t\t“,train[i].SerialNumber,train[i].SetOut.hour,train[i].SetOut.minutes); printf(“%s\t%s\t\t%.1f\t %d\t\t%d\n“,train[i].DeparturePoint,train[i].TerminalPoint,train[i].LastTime,train[i].FixNumber,train[i].FixedNumber); } } } void SearchByAddress(void) { int i; char Address[MAX]; printf(“请输入终点站的名称:“); scanf(“%s“,&Address); printf(“班次\t发车时间\t起点\t终点\t行车时间(小时)\t额定载量\t已定票人数\n“); for(i=0;i { //对比终点站记录,找到并输出 if((strcmp(Address,train[i].TerminalPoint))==0) { printf(“%s\t%d:%d\t\t“,train[i].SerialNumber,train[i].SetOut.hour,train[i].SetOut.minutes); printf(“%s\t%s\t\t%.1f\t %d\t\t%d\n“,train[i].DeparturePoint,train[i].TerminalPoint,train[i].LastTime,train[i].FixNumber,train[i].FixedNumber); } } } void cancle(void) { SearchMenu(); int i,j; char m[MAX]; printf(“请输入要删除的班次:“); scanf(“%s“,&m); for(i=0;i { if(i==RecordNumber) { printf(“对不起,没有这趟车\n“); } } for(j=i;j { train[j]=train[j+1]; } printf(“删除成功\n“); } void selection(ticket *pa,int n) { int i,k,index; struct ticket temp; for(k=0;k { index=k; for(i=k+1;i if(pa[i].LastTime index=i; if(index!=k) { temp=pa[index]; pa[index]=pa[k]; pa[k]=temp; } } } void TicketManagement(void) { char functionNumber; system(“mode con: cols=140 lines=130“); printf(“ 订票与退票菜单\n“); printf(“============================================================================\n“); printf(“ 1.订票\t\n“); printf(“ 2.退票\t\n“); printf(“ 3.返回主菜单.\n“); printf(“============================================================================\n“); printf(“选择你需要的功能:“); scanf(“%*c%c“,&functionNumber); switch(functionNumber) { case '1': { TicketOrder(); //getchar(); //getchar(); } break; case '2':TicketDelete();break; case '3': { getchar(); mainmenu(); } break; default: { printf(“输入错误,请确保你的输入为1--3.\n“); printf(“按任意键回主菜单......\n“); getchar(); getchar(); mainmenu(); } } } void TicketOrder(void) { SearchMenu(); int i,j; char a[MAX]; printf(“请输入要订购的车票的班次:“); scanf(“%s“,&a); printf(“请输入要订购的车票的张数:“); scanf(“%d“,&j); for(i=0;i { if((strcmp(a,train[i].SerialNumber))==0) { if(train[i].FixedNumber { (train[i].FixedNumber)+=j; printf(“你的订票成功,请按时上车,谢谢使用!\n“); printf(“班次\t发车时间\t起点\t终点\t行车时间(小时)\t额定载量\t已定票人数\n“); printf(“%s\t%d:%d\t\t“,train[i].SerialNumber,train[i].SetOut.hour,train[i].SetOut.minutes); printf(“%s\t%s\t\t%.1f\t %d\t\t%d\n“,train[i].DeparturePoint,train[i].TerminalPoint,train[i].LastTime,train[i].FixNumber,train[i].FixedNumber); } else printf(“对不起,票已卖完\n“); } } } void TicketDelete(void) { SearchMenu(); int i,j; char b[MAX]; printf(“请输入要退购的车票的班次:“); scanf(“%s“,&b); printf(“请输入要退购的车票的张数:“); scanf(“%d“,&j); for(i=0;i { if((strcmp(b,train[i].SerialNumber))==0) { if(train[i].FixedNumber>=1) { train[i].FixedNumber-=j; printf(“退订车票成功,谢谢使用!\n“); printf(“班次\t发车时间\t起点\t终点\t行车时间(小时)\t额定载量\t已定票人数\n“); printf(“%s\t%d:%d\t\t“,train[i].SerialNumber,train[i].SetOut.hour,train[i].SetOut.minutes); printf(“%s\t%s\t\t%.1f\t %d\t\t%d\n“,train[i].DeparturePoint,train[i].TerminalPoint,train[i].LastTime,train[i].FixNumber,train[i].FixedNumber); } else printf(“对不起,今天的这趟车的票尚未卖出,无法完成退票!\n“); } } } void exit(void) { printf(“\n\n*********************谢谢使用本系统,欢迎下次继续使用***********************\n“); exit(0); } void SaveRecord(ticket x) { FILE *fp; if((fp=fopen(“add.txt“,“a“))==NULL) { printf(“打开文件%s失败\n“,“add.txt“); exit(-1); } fprintf(fp,“\n%s\t%d\t%d\t\t“,x.SerialNumber,x.SetOut.hour,x.SetOut.minutes); fprintf(fp,“%s\t%s\t\t%.1f\t %d\t\t%d“,x.DeparturePoint,x.TerminalPoint,x.LastTime,x.FixNumber,x.FixedNumber); } 五、测试数据及其结果分析 显示的主菜单界面: 火车票管理系统 ============================================================================ 1.录入班次信息 2.显示所有车票信息列表 3.查询火车票数据 4.删除火车票数据记录 5.按行车时间排序 6.售票与退票系统 7.退出该系统 ============================================================================ 请选择你所需要的功能: 1)录入班次信息 输入:1 输出:请输入文件名或者文件路径名: 输入:D:\\1.txt 输出: 班次 发车时间 起点 终点 行车时间(小时) 额定载量 已定票人数 k1111 8:30 南京 上海 4.0 300 200 k1234 10:20 上海 苏州 2.0 200 t2222 12:40 长沙 上海 9.0 250 k2323 13:50 扬州 南京 1.5 200 k1122 9:20 广州 南京 20.0 300 170 按任意键回主菜单......2)显示所有车票信息列表 输入:2 输出: 班次 发车时间 起点 终点 行车时间(小时) 额定载量 已定票人数 k1111 8:30 南京 上海 4.0 300 200 k1234 10:20 上海 苏州 2.0 200 t2222 12:40 长沙 上海 9.0 250 k2323 13:50 扬州 南京 1.5 200 k1122 9:20 广州 南京 20.0 300 170 按任意键回主菜单......3)查询火车票记录 输入:3 输出: 查询子菜单 ============================================================================ 1.按班次号查询 2.按终点站查询 3.返回主菜单 ============================================================================ 请选择你所需要的功能: 输入:1 输出:请输入班次号: 输入:k1111 输出: 班次 发车时间 起点 终点 行车时间(小时) 额定载量 已定票人数 k1111 8:30 南京 上海 4.0 300 200 按任意键回主菜单......输入:2 输出:请输入终点站的名称: 输入:上海 输出: 班次 发车时间 起点 终点 行车时间(小时) 额定载量 已定票人数 k1111 8:30 南京 上海 4.0 300 200 t2222 12:40 长沙 上海 9.0 250 按任意键回主菜单......4)删除火车票数据 输入:4 输出:查询子菜单 ============================================================================ 1.按班次号查询 2.按终点站查询 3.返回主菜单 ============================================================================ 请选择你所需要的功能: (查找过程同上) 输出:请输入要删除的班次: 输入:t2222 输出:删除成功 按任意键回主菜单......5)按行车时间排序: 输入:5 输出: 班次 发车时间 起点 终点 行车时间(小时) 额定载量 已定票人数 k2323 13:50 扬州 南京 1.5 200 k1234 10:20 上海 苏州 2.0 200 k1111 8:30 南京 上海 4.0 300 200 t2222 12:40 长沙 上海 9.0 250 k1122 9:20 广州 南京 20.0 300 170 按任意键回主菜单......6)售票 输入:6 输出: 订票与退票菜单 =================================================== 1.订票 2.退票 3.返回主菜单 ================================================== 选择你需要的功能: 输入:1 输出: 查询子菜单 ======================================================================== 1.按班次号查询 2.按终点站查询 3.返回主菜单 ========================================================================= 请选择你所需要的功能: (查询过程同上) 输出:请输入需要订购的车票班次 输入:k1111 输出:请输入要订购的车票张数 输入:10 输出: 您的订票成功,请按时上车,谢谢使用! 班次 发车时间 起点 终点 行车时间(小时) 额定载量 已定票人数 k1111 8:30 南京 上海 4.0 300 210 7)退票 输入:6 输出: 订票与退票菜单 =================================================== 1.订票 2.退票 3.返回主菜单 ================================================== 选择你需要的功能: 输入:2 输出: 查询子菜单 ======================================================================== 1.按班次号查询 2.按终点站查询 3.返回主菜单 ========================================================================= 请选择你所需要的功能: (查询过程同上) 输出:请输入需要退购的车票班次 输入:k1111 输出:请输入要订购的车票张数 输入:5 退订车票成功,谢谢使用! 班次 发车时间 起点 终点 行车时间(小时) 额定载量 已定票人数 k1111 8:30 南京 上海 4.0 300 195 8)退出 输入:7 输出:****************谢谢使用本系统,欢迎下次继续使用**************** 结果分析:(1).若输入数字不在1——7之间,则会提示错误。 (2).当输入列车班次信息不正确时,将不会得到结果。 (3).文件录入不正确时,将不会得到任何结果。 六、调试过程中的问题 1)文件存储方式不正确:应先定义一个文件存储函数,在其它函数中调用,方便有效。 2)删除时若遇到没有的班次则程序出错。应在不存在输入的列车班次时,输出不存在的提示 3)保存后在下次运行时出错问题:在保存信息时,应在每个信息之间加一空格来保存,否则在文件下次使用时读取就会没有分界点。 4)订票退票只能一次一张。应在用户输入列车班次后让用户输入需要订购的张数。 5)结构指针定义错误,ticket前不应加struct。 一.购买火车票环节: A.购买一般火车票: 1.旅客可以直接到火车站售票窗口购买全国所有始发车站车票,也可以到市内代售票点购买本路局管辖车站始发车次车票。在代售点购买时,异地票手续费为5元。2.在购票窗口向购票员说明需要购买的车票内容: (1)始发站名→→终点站名 (2)出发时间(精确到年,月,日,时,分) 售票员会给出你所需时段前后的多种票,请您根据时间安排进行选择 (3)座位类型(站票/硬座/硬卧/软卧) 售票员会给出待售中的各种类型票价,请您根据经济情况进行选择 3.再次跟售票员确定所需车票的起始站,终点站,时间,座位类型,票价信息,若确定无误,请付款买票,否则,根据双方的信息出入进行(1),(2),(3)中的一条或多条更正,直到确定该票为您所需要的车票为止。 B.购买学生票: 学生票 // 学生票优惠是硬座价的一半,即: a.学生硬座价=原硬座价*50% b.学生硬卧价=原硬卧价-原硬座价*50% c.学生软卧无优惠 d.学生动车价=原动车价*75% //(1)到车站指定窗口购买,在代售点不可购买(2)出示本人学生证 (3)同A中的第2和3进行操作 二.退票环节: 1.到火车站专门的退票窗口 2.向票务员出示需要办理退票业务的票据 // 必须在开车前两小时 退票费按每张车票面额20%计算核收,退票费的尾数不足一元是按四舍五入到元,2元以下的票价不退。 // 3.确认无误后,票务员归还80%的车票费并给退票证明。 火车票遗失报告 财务部: 我于2011年2月10日至2011年2月28日休探亲假至襄阳回家看父母丢失广州至襄阳火车票-票价175元襄樊至广州火车票-票价175元共计350元。 特此报告! 能源中心 张海帆 2011年3月11日第四篇:购买火车票环节
第五篇:火车票遗失报告