优秀火车票订票系统(内附论文和源码)

项目下载

优秀火车票订票系统(内附论文和源码)

资料展示

资料文末提供:

项目效果

欢迎您进入系统主菜单
日期: 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<windows.h>
#include<stdio.h>         
#include<stdlib.h>
#include<string.h>
#include<conio.h>
#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;
    }
}
  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值