优秀火车票订票系统(内附论文) 原创 工程项目 2022年7月12日 22:51 夏至未至 1129 当前内容 17022 字,在路上,马上到,马上到 ### 目录 [TOC] ### 项目说明 1.此为 [火车票订票系统](https://www.codecomeon.com/posts/31/ "火车票订票系统") 同期数据结构课程设计,还是一个CPP搞定,但此设计当时被评选优秀课程设计。 2.项目在VS2017上验证通过,如果使用其他编辑器,编译器,可能需要你自己微调,如果还是有疑问,欢迎咨询。 3.内附多篇参考论文以供参考。 4.提供车务信息录入文件,内置车务信息,可直接浏览。 ### 项目资料 资料文末提供: ### 项目效果 欢迎您进入系统主菜单 日期: 2015/9/13 *********************************************************************************** 1.录入班次信息.................... 2.浏览班次信息.................... 3.用户登录........................ 4.注册新用户...................... 5.注册指南........................ 6.管理员登录........................ 7.退出系统.............. *********************************************************************************** 请选择您所需要的功能:(1,2,3,4,5,6,7) ### 项目功能 /**************************************************************************************************************************/ /*火车票管理系统主菜单*/ void mainmenu(); /*查询信息的子菜单*/ void searchmenu(); /*初始化管理员结构体*/ int guanliyuan1(); /*管理员登录*/ void guanliyuadenglu(); /*初始化已注册客户信息链表*/ int yonghuinitlist(); /*新用户注册函数*/ void zhuceyonghu(linklistyh h); /*遍历注册用户链表*/ void bianliyonghu(); /*用户登录*/ void yonghudenglu(linklistyh h); /*新用户注册指南*/ void zhucezhinan(); /*初始化客户信息链表*/ int maninitlist(linklistman *h); /*客户信息插入*/ int manlistinsert(linklistman h); /*车票信息链表的初始化*/ int ticketsinitlist(linklisttickets *h); /*车票信息链表的插入*/ int ticketslistinsert(linklisttickets h, int tickets_num, int tickets_box, int tickets_table, double count); /*遍历车票信息链表*/ void traverselisttickets(linklisttickets h); /*信息保存函数*/ void save(); /*火车票信息录入*/ void createtraininfo(); /*显示载入车次信息的原始数据*/ int showmessage(); /*载入车次信息数据*/ int showmessage1(); /*载入车票信息数据*/ void createtickets(); /*按车次编号查询*/ void searchbynumber(); /*按终点站查询*/ void searchbyaddress(); /*客户信息链表遍历*/ void traversemanlinklist(); /*初始化单链表并用车次信息结构中的客户信息域,指向客户信息链表的头指针*/ void pointhead(); /*订票系统的主菜单*/ void reservemenu(); /*遍历票价单链表并删除相应结点*/ void traverselistticketsadd(linklisttickets h, int box, int table); /*按车次订票函数*/ void reservebynumber(pyhnode h); /*退票系统的主菜单*/ void returnticketsmenu(); /*遍历乘客信息表并删除相应结点*/ void traverselistmanadd(linklistman h, char man_name[20], char ic[20]); /*客户信息链表遍历找到相应的相应的乘客并输出该乘客信息*/ void traversemanlinklistadd2(linklistman h, char man_name[20], char ic[20]); /*退票函数*/ void returntickets(pyhnode h); /**************************************************************************************************************************/ ### 有偿源码 #include #include #include #include #include #define MAXSIZE 5 #pragma warning(disable:4996) /*屏蔽 4996 报错*/ /*管理员结构体*/ typedef struct { char guanliyuanbianhao[20]; /*管理员编号*/ char guanliyuanmima[20]; /*管理员的密码*/ char xing[20]; /*管理员的姓*/ char ming[20]; /*管理员的名*/ char xingbie[10]; /*管理员的性别*/ char lianxifangshi[20]; /*管理员联系方式*/ }guanliyuan; guanliyuan gly; /*已注册用户链表的结构*/ typedef struct yonghunode { char zhanghao[20]; /*用户的账号*/ char mima[20]; /*用户的密码*/ char yonghuxing[20]; /*用户的姓*/ char yonghuming[20]; /*用户的名*/ char xingbie[10]; /*用户的性别*/ char zhengjianleixing[20]; /*证件类型*/ char zhengjianhao[20]; /*证件号*/ char lianxifangshi[20]; /*用户联系方式*/ struct yonghunode *next; }lyhnode, *pyhnode, *linklistyh; linklistyh yh; /*全局变量*/ pyhnode yonghuxinxi; /*全局变量*/ /*客户信息链表的结构*/ typedef struct man { char man_time[20]; /*订票时间*/ char man_trainnum[20]; /*车次编号*/ char man_name[20]; /*订票人姓名*/ char phone[20]; /*订票人联系方式*/ char ic[20]; /*证件号*/ char order_num[30]; /*订单号*/ char man_start[20]; /*起点站*/ char man_arrive[20]; /*终点站*/ int man_box[20]; /*车厢号*/ int man_table[20]; /*座位号*/ double man_count[20]; /*票价的折扣*/ int money; /*票价*/ int amount; /*订票数*/ struct man *next; }manlinklist, *pman, *linklistman; /*车票信息链表的结构*/ typedef struct tickets { int tickets_num; /*车票编号*/ int tickets_box; /*车厢号*/ int tickets_table; /*座位号*/ double count; /*票价折扣*/ struct tickets *next; }ticketslinklist, *ptickets, *linklisttickets; /*站点的结构*/ typedef struct station { char sta_name[20]; /*车站名称*/ char arrivetime[20]; /*到站时间*/ char starttime[20]; /*出站时间*/ int sta_money; /*从起点到该站的票价*/ int mileage; /*里程*/ }stationlinklist; /*车次信息的结构*/ typedef struct train { char train_num[20]; /*车次编号*/ char train_starttime[20]; /*出发时间*/ char train_start[20]; /*出发站*/ char train_arrive[20]; /*终点站*/ char train_arrivetime[20]; /*到达时间*/ int train_box; /*车厢数*/ int train_table; /*每节车厢座位数*/ int train_tickets; /*剩余票数*/ int train_mileage; /*起点到终点的距离*/ stationlinklist station[5]; /*站点结构体*/ linklistman h_man; /*客户信息域,指向客户信息链表的头指针*/ linklisttickets h_tickets; /*车票信息域,指向车票信息链表的头指针*/ }traininfo; traininfo trin[MAXSIZE]; /*定义一个有MAXSIZE个元素的结构体数组*/ /********************************************************************************************************************************/ /*火车票管理系统主菜单*/ void mainmenu(); /*查询信息的子菜单*/ void searchmenu(); /*初始化管理员结构体*/ int guanliyuan1(); /*管理员登录*/ void guanliyuadenglu(); /*初始化已注册客户信息链表*/ int yonghuinitlist(); /*新用户注册函数*/ void zhuceyonghu(linklistyh h); /*遍历注册用户链表*/ void bianliyonghu(); /*用户登录*/ void yonghudenglu(linklistyh h); /*新用户注册指南*/ void zhucezhinan(); /*初始化客户信息链表*/ int maninitlist(linklistman *h); /*客户信息插入*/ int manlistinsert(linklistman h); /*车票信息链表的初始化*/ int ticketsinitlist(linklisttickets *h); /*车票信息链表的插入*/ int ticketslistinsert(linklisttickets h, int tickets_num, int tickets_box, int tickets_table, double count); /*遍历车票信息链表*/ void traverselisttickets(linklisttickets h); /*信息保存函数*/ void save(); /*火车票信息录入*/ void createtraininfo(); /*显示载入车次信息的原始数据*/ int showmessage(); /*载入车次信息数据*/ int showmessage1(); /*载入车票信息数据*/ void createtickets(); /*按车次编号查询*/ void searchbynumber(); /*按终点站查询*/ void searchbyaddress(); /*客户信息链表遍历*/ void traversemanlinklist(); /*初始化单链表并用车次信息结构中的客户信息域,指向客户信息链表的头指针*/ void pointhead(); /*订票系统的主菜单*/ void reservemenu(); /*遍历票价单链表并删除相应结点*/ void traverselistticketsadd(linklisttickets h, int box, int table); /*按车次订票函数*/ void reservebynumber(pyhnode h); /*退票系统的主菜单*/ void returnticketsmenu(); /*遍历乘客信息表并删除相应结点*/ void traverselistmanadd(linklistman h, char man_name[20], char ic[20]); /*客户信息链表遍历找到相应的相应的乘客并输出该乘客信息*/ void traversemanlinklistadd2(linklistman h, char man_name[20], char ic[20]); /*退票函数*/ void returntickets(pyhnode h); /********************************************************************************************************************************/ /*系统主菜单*/ void menu() { system("mode con: cols=150 lines=1000"); /*调整大小*/ int choice; printf("\n欢迎您进入系统主菜单\n"); printf("\n日期: 2015/9/13\n\n"); printf("***********************************************************************************\n\n"); printf(" 1.录入班次信息....................\n\n "); printf(" 2.浏览班次信息....................\n\n "); printf(" 3.用户登录........................\n\n "); printf(" 4.注册新用户......................\n\n "); printf(" 5.注册指南........................\n\n "); printf(" 6.管理员登录........................\n\n "); printf(" 7.退出系统..............\n "); printf("\n***********************************************************************************\n\n"); printf("请选择您所需要的功能:(1,2,3,4,5,6,7)\n"); scanf("%d", &choice); switch (choice) { case 1: { showmessage1(); /*载入数据的函数*/ createtickets(); /*初始化车票信息*/ pointhead(); /*初始化客户信息链表*/ yonghuinitlist(); /*初始化已注册客户信息链表*/ guanliyuan1(); /*初始化管理员信息*/ printf("\n按任意键返回系统主菜单\n"); getch(); menu(); } break; case 2: { system("cls"); showmessage(); /*显示所有车次信息*/ printf("\n按任意键返回系统主菜单\n"); getch(); menu(); } break; case 3: { yonghudenglu(yh); /*用户登录*/ printf("\n按任意键返回系统主菜单\n"); getch(); menu(); } break; case 4: { zhuceyonghu(yh); /*注册信息*/ } break; case 5: { zhucezhinan(); /*新用户注册指南*/ printf("\n按任意键返回系统主菜单\n"); getch(); menu(); } break; case 6: { system("cls"); guanliyuadenglu(); /*管理员登录*/ printf("\n按任意键返回系统主菜单\n"); getch(); menu(); } break; case 7: system("cls"); printf("\n\n\n\n\n----------------------------感谢您使用本系统,欢迎您再次使用!----------------------------\n\n\n\n\n\n\n\n"); exit(0); break; default: { printf("输入错误!!请确保您的输入为:(1,2,3,4,5,6)\n"); printf("\n按任意键返回系统主菜单\n"); getch(); menu(); } break; } } /*管理员登录主菜单*/ void guanlimenu() { system("mode con: cols=150 lines=1000"); /*调整大小*/ int choice; printf("\n欢迎您进入管理员主菜单\n"); printf("\n日期: 2015/6/20\n\n"); printf("***********************************************************************************\n\n"); printf(" 1.浏览订票信息....................\n\n "); printf(" 2.浏览注册信息....................\n\n "); printf(" 3.返回系统主菜单..............\n "); printf("\n***********************************************************************************\n\n"); printf("请选择您所需要的功能:(1,2,3)\n"); scanf("%d", &choice); switch (choice) { case 1: { traversemanlinklist(); /*管理员查看订票信息*/ printf("\n按任意键返回系统主菜单\n"); getch(); menu(); } break; case 2: { system("cls"); bianliyonghu(); /*浏览注册信息*/ printf("\n按任意键返回系统主菜单\n"); getch(); menu(); } break; case 3: { printf("\n按任意键返回系统主菜单\n"); getch(); menu(); } break; default: { printf("输入错误!!请确保您的输入为:(1,2,3,4,5,6)\n"); printf("\n按任意键返回系统主菜单\n"); getch(); menu(); } break; } } /*火车票管理系统主菜单*/ void mainmenu() { system("mode con: cols=150 lines=1000"); /*调整大小*/ int choice; printf("\n欢迎您进入火车票订票系统主菜单\n"); printf("\n日期: 2015/6/20\n\n"); printf("***********************************************************************************\n\n"); printf(" 1.浏览班次信息....................\n\n "); printf(" 2.查询行车路线....................\n\n "); printf(" 3.售票系统........................\n\n "); printf(" 4.退票系统........................\n\n "); printf(" 5.退出火车票管理系统..............\n "); printf("\n***********************************************************************************\n\n"); printf("请选择您所需要的功能:(1,2,3,4,5)\n"); scanf("%d", &choice); switch (choice) { case 1: { showmessage(); /*显示所有车次信息*/ printf("\n按任意键返回主菜单\n"); getch(); mainmenu(); } break; case 2: { searchmenu(); /*进入查询子菜单*/ printf("\n按任意键返回主菜单\n"); getch(); mainmenu(); } break; case 3: { reservemenu(); /*进入订票系统主菜单*/ printf("\n按任意键返回主菜单\n"); getch(); mainmenu(); } break; case 4: { returnticketsmenu(); /*进入订票系统主菜单*/ printf("\n按任意键返回主菜单\n"); getch(); mainmenu(); } break; case 5: { printf("\n按任意键返回系统主菜单\n"); getch(); menu(); } break; default: { printf("输入错误!!请确保您的输入为:(1,2,3,4,5)\n"); printf("\n按任意键返回主菜单\n"); getch(); mainmenu(); } break; } } /*初始化管理员结构体*/ int guanliyuan1() { strcpy(gly.guanliyuanbianhao, "8023"); strcpy(gly.guanliyuanmima, "8023"); strcpy(gly.xing, "张"); strcpy(gly.ming, "三"); strcpy(gly.xingbie, "男"); strcpy(gly.lianxifangshi, "8023"); return 0; } /*管理员登录*/ void guanliyuadenglu() { char guanliyuanbianhao[20]; /*管理员编号*/ char guanliyuanmima[20]; /*管理员的密码*/ char xing[20]; /*管理员的姓*/ char ming[20]; /*管理员的名*/ char xingbie[10]; /*管理员的性别*/ printf("\n请输入您的编号:\n\n"); scanf("%s", guanliyuanbianhao); printf("\n请输入您的密码:\n\n"); scanf("%s", guanliyuanmima); printf("\n请输入您的姓氏:\n\n"); scanf("%s", xing); printf("\n请输入您的名:\n\n"); scanf("%s", ming); printf("\n请输入您的性别:\n\n"); scanf("%s", xingbie); if (strcmp(gly.guanliyuanbianhao, guanliyuanbianhao) == 0 && strcmp(gly.guanliyuanmima, guanliyuanmima) == 0 && strcmp(gly ¥30.00 解锁全文 下载资源 本文标题: 优秀火车票订票系统(内附论文) 本文作者: 夏至未至 发布时间: 2022年7月12日 22:51 最近更新: 2025年3月17日 13:52 原文链接: 许可协议: 署名-非商业性-禁止演绎 4.0 国际(CC BY-NC-ND 4.0) 请按协议转载并保留原文链接及作者 订票系统(2) 课程设计(3) 数据结构(2) 上一个 Sybase ASE可视化工具连接和访问数据库 下一个 C++11三种智能指针使用 当前文章评论暂未开放,请移步至留言处留言。