项目下载
资料展示
资料文末提供:

项目效果
欢迎您进入系统主菜单
日期: 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;
}
}