火车票订票系统

此为第一次课程设计,和大家分享,对我来说,是这开始也是结束:开始走上不归路,结束不属于自己的:

直接上代码:说明见注释:

/*火车订票系统*/
/*头文件*/
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<iostream.h>
#include<process.h>
#include<conio.h>
#include<iomanip.h>
#include<malloc.h>
#include<time.h>

#define SIZE 10                 /*定义SIZE为十辆车次信息*/
#define A 5                     /*定义A为每辆车次经过的主要大站*/

/*乘客信息结构体*/
typedef struct man
{
	char name[20];              /*姓名*/
	char phone_num[20];         /*电话号码*/
	char  idcard[20];           /*身份证号码*/
	int	 booknums;              /*订票数量*/
	char book_num[50];          /*订单号*/
	struct man *next;           /*指向下一乘客结点*/
}man,*pman,*manlinklist;        /*乘客信息链表*/
manlinklist z;                  /*定义全局变量*/


/*剩余火车票信息信息结构体*/
typedef struct tickets
{
	int discount;                 /*打折*/
	int box_num;                  /*车厢号*/
	int seat_num;                 /*座位号*/
	struct tickets *next;         /*指向下一张车票结点*/
}ticket,*pticket,*ticketlinklist; /*剩余车票信息链表*/
ticketlinklist g;                 /*定义全局变量*/


/*火车站点结构体*/
typedef struct station
{
	int sta_num;                   /*站次*/
	char staname[20];              /*站名*/
	char arrivetime[20];           /*到站时间*/
	char takeofftime[20];          /*开车时间*/
	char time[30];                 /*从起点到次中间站的时间*/
}station1;                     


/*火车信息结构体*/
struct train
{
	char train_num[50];            /*车次编号*/
	char start[20];                /*出发站*/
	char start_time[10];           /*出发时间*/
	char end[20];                  /*到达站*/
	char end_time[10];             /*到达时间*/
	char mainstation[100];         /*经过主要大站*/
	char boxs[60];                 /*车厢数*/
	char seats[100];               /*每节车厢座位数*/
	char price[20];                /*票价*/
	station1 station2[100];        /*嵌套站点结构体数组*/
}train[SIZE];                      /*定义全局结构体数组(顺序表),包含SIZE个车次信息*/


/*订票人注册信息结构体*/
typedef struct registers
{
	char username[20];            /*用户名*/
	char password[20];            /*密码*/
	struct registers *next;       /*指向下一个订票人注册信息的结点*/
}lregisters,*pregisters,*linklistregisters;
linklistregisters F;              /*定义全局变量*/


/*各类函数声明*/
//******************************************************************
//******************************************************************
void prints();                        /*菜单打印*/
int Initicket(ticketlinklist *h);     /*初始化剩余车票信息链表*/
int Initman();                        /*初始化乘客信息链表*/
int Initregisters(linklistregisters *head);/*初始化订票人注册信息链表*/
void registers();                     /*注册*/
void check();                         /*用户验证*/
char Continue();                      /*询问是否继续函数*/
bool Check(char pas[6]);              /*密码验证函数*/
void InsertMessaage();                /*班次信息录入*/
void ShowMessage();                   /*查看列车信息函数*/	
void SearchByNumber();                /*按车次编号查找*/
void SearchBystart();                 /*按起点站查找*/
void SearchByend();                   /*按终点站查找*/
void SearchMenu();                    /*车票信息查询*/
void findfree();                      /*查询剩余票信息*/
void times();                         /*调用时间函数*/
void Booking();                       /*订票*/
void Deleteticket();                  /*退票*/
//******************************************************************
//******************************************************************


/*初始化剩余车票信息链表*/
int Initicket(ticketlinklist *h)
{
	
	*h=(ticketlinklist)malloc(sizeof(ticket)); /*生成头结点*/
	if(!h)
	{
		printf("初始化化错误\n");              /*生成不成功,提示错误*/
		return 0;
	}
	(*h)->next=NULL;                           /*让头结点指针域为空*/
	g=(*h);                                    /*将头结点付给g*/ 
		return 1;
}


/*初始化乘客信息链表*/
int Initman()
{
	manlinklist h;
    h=(manlinklist)malloc(sizeof(man));         /*生成头结点*/
	if(!h)
	{
		printf("初始化化错误\n");               /*生成不成功,提示错误*/
		return 0;
	}
	(h)->next=NULL;                             /*让头结点指针域为空*/
	z=(h);                                      /*将头结点付给z*/
		return 1;
}


/*初始化订票人注册信息链表*/
int Initregisters(linklistregisters *head)
{
	*head=(linklistregisters)malloc(sizeof(lregisters));/*生成头结点*/
	if(!head)
	{
		printf("初始化化错误\n");              /*生成不成功,提示错误*/
		return 0;
	}
	(*head)->next=NULL;                        /*让头结点指针域为空*/ 
		F=(*head);
		return 1;
}


/*注册*/
void registers()
{
	pregisters p1,p2;
	char name[20];
	char word[20];
	char words[20];
	char a;
	linklistregisters head;
	Initregisters(&head);
	printf("\n订票需要注册,是否进行注册(y/n)?\n");
	scanf("%s",&a);
	if(a=='y'||a=='Y')
	{
	printf("\n***************************************\n");
	printf("**************注册提示:****************\n");
	printf("      用户名由字母、数字、下划线组成   \n");
	printf("          密码为标准位数字组成         \n");
	printf("***************************************\n");
	printf("开始注册:\n");
	printf("创建用户名:\n");
	scanf("%s",name);
	printf("输入密码:\n");
	scanf("%s",word);
	printf("请再次输入密码:\n");
	scanf("%s",words);
	if(strcmp(word,words)==0)
	{
		p1=(pregisters)malloc(sizeof(lregisters));
		strcpy(p1->username,name);
		strcpy(p1->password,word);
			p1->next=head->next;
			head->next=p1;
			printf("\n注册完成,下面是你的注册信息:\n");
			p2=head->next;
			printf("\n您的用户名为%s\n",p2->username);
			printf("\n您的用户密码为%s\n",p2->password);
			printf("\n请妥善保管!\n");
	}
	else
	{
		printf("对不起,两次输入不相同,请重新输入!\n");
		prints();
	}
	}
	else 
	{
		printf("对不起,不注册无法完成订票!\n");
		printf("请重新注册:\n");
		prints();
	}
}


/*用户验证*/
void check()
{
	pregisters p1,p2;
	char names[20];
	char pass[20];
	getchar();
	getchar();
	system("cls");
	printf("时间:\n");
	times();
	printf("\n按任意键进入订票系统\n");
	getchar();
	printf("\n用户登录:\n");
	printf("\n请输入用户名:");
	scanf("%s",names);
	printf("\n请输入密码:");
	scanf("%s",pass);
	p1=F;
	p2=p1->next;
	if(strcmp(p2->username,names)==0&&strcmp(p2->password,pass)==0)
	{
		printf("验证成功!\n");
		printf("开始订票!\n");
		getchar();
		getchar();
	}
	else
	{
		printf("对不起,输入密码或用户名不正确,请重新输入\n");
		getchar();
		getchar();
		check();
	}
}


/*调用时间函数*/
void times()
{
	time_t ltime;
	time(<ime);
	printf("%s",ctime(<ime));                 /*输出当前系统时间*/
}


/*本系统安全密码验证函数*/
bool Check(char pas[6])
{
	FILE *fp;
	char ch;
	char a[7]={" "};                            /*输入密码为六个字符*/
	int i=0;
	if((fp=fopen("mima.txt","r"))==NULL)        /*密码录入在文件mima.txt中*/
	{
		printf("对不起,打开文件失败!\n");      /*从文件中读取密码*/
		exit(0);
	}
	ch=fgetc(fp);                               /*从fp所指的文件中取得一个字符*/
	while(ch!=EOF&&i<6)                         /*EOF为文件结束标志*/
	{
		a[i]=ch;
		ch=fgetc(fp);
		i++;
	}
	a[6]='\0';                                   /*字符串以\0结束*/
	if(!strcmp(pas,a))                           /*输入六位字符,和文件中的字符匹配*/  
	{
		return true;                             /*匹配上返回true*/
	}
	else 
	{
		printf("对不起,密码错误!\n");
		return false;                            /*否则返回false*/
	}
	fclose(fp);                                  /*结束关闭文件*/
}


/*询问是否继续函数*/
char Continue()                                  /*回答是 则进行下一步 不是则返回上一步*/
{
	char answer;
	while(1)
	{
		printf("\n\t 您是否想继续(Y/N)?"); 
		scanf("%s",&answer);
		system("cls");
		if(answer=='y'||answer=='Y') 
			return 'y';
		else if(answer=='n'||answer=='N')
			return 'n';
		else 
			printf("\n\t输入有误,请重新输入!");
	}
}


/*班次信息录入*/
void InsertMessaage()
{
	FILE *fp;
	int i;
	int j;
	if((fp=fopen("train.dat","wb"))==NULL)   
	{
		printf("打开文件失败\n");
		return;
	}
	printf("请输入火车信息:\n");	
	for(i=0;i<SIZE;i++)
	{
		printf("车次编号   出发站   出发时间   到达站   到达时间   车厢数   座位数   票价\n");
		scanf("%s %s %s %s %s %s %s %s",train[i].train_num,train[i].start,train[i].start_time,train[i].end,train[i].end_time,train[i].boxs,train[i].seats,train[i].price);
		printf("录入站点信息:\n");
		printf("站次   站名   到达时间    开车时间    运行时间 \n");
	    for(j=0;j<A;j++)
		{
			scanf("%d %s %s %s %s",&train[i].station2[j].sta_num,train[i].station2[j].staname,train[i].station2[j].arrivetime,train[i].station2[j].takeofftime,train[i].station2[j].time);
		}
		if(fwrite(&train[i],sizeof(struct train),1,fp)!=1)
			{
				printf("录入出错\n");
			}
	}
	fclose(fp);
	printf("录入完毕,按任意键退出!\n");
	getchar();
	getchar();
}


/*查看列车信息函数*/
void ShowMessage()
{
	FILE *fp;
	int i;
	int j;
	if((fp=fopen("train.dat","rb"))==NULL)
	{
		printf("打开文件失败\n");
		exit(0);
	}
	printf("各列车信息:\n");
	for(i=0;i<SIZE;i++)
	{
		printf("\n*****************************************************************************************\n");
		printf("\n车次编号   出发站   出发时间   到达站   到达时间    车厢数   座位数     票价\n");
		fread(&train[i],sizeof(struct train),1,fp);
		printf("\n  %-9s %-9s %-9s %-9s  %-9s   %-9s%-9s%-9s\n",train[i].train_num,train[i].start,train[i].start_time,train[i].end,train[i].end_time,train[i].boxs,train[i].seats,train[i].price);
		printf("\n本车次经过主要大站信息:\n");
		printf("站次   站名   到达时间    开车时间    运行时间 \n");
	    for(j=0;j<A;j++)
		{
			printf(" %d     %s    %s      %s         %s\n",train[i].station2[j].sta_num,train[i].station2[j].staname,train[i].station2[j].arrivetime,train[i].station2[j].takeofftime,train[i].station2[j].time);
		}
	}
	printf("\n*****************************************************************************************\n");
	fclose(fp);
	Continue();                          
}


/*按车次编号查找*/
void SearchByNumber()
{
	char Number[50];
	char c;
	int i;
	int	j;
	printf("\n\t输入车次编号:");
	scanf("%s",&Number);
	printf("\n\t查询结果:\n");
	for(i=0;i<SIZE;i++)
	{
		if(strcmp(train[i].train_num,Number)==0)  /*匹配车次*/
		{
			printf("\n*****************************************************************************************\n");
			printf("\n车次编号   出发站   出发时间   到达站   到达时间    车厢数   座位数     票价\n");
			printf("\n  %-9s %-9s %-9s %-9s  %-9s   %-9s%-9s%-9s\n",train[i].train_num,train[i].start,train[i].start_time,train[i].end,train[i].end_time,train[i].boxs,train[i].seats,train[i].price);
			printf("\n本车次经过主要大站信息:\n");
			printf("站次   站名   到达时间    开车时间    运行时间 \n");
	    for(j=0;j<A;j++)
			{
				printf(" %d     %s    %s      %s         %s\n",train[i].station2[j].sta_num,train[i].station2[j].staname,train[i].station2[j].arrivetime,train[i].station2[j].takeofftime,train[i].station2[j].time);
			}
		}
	}
	printf("\n****************************************************************************************\n");
	if(Continue()=='y')
	{
		 printf("\n是否查看此列车车票详细信息(N/Y):\n");
		 scanf("%s",&c);
		 if(c=='y'||c=='Y')
		 findfree();                         /*查看本车次车票情况*/
		 else return;
	}
	Continue(); 
}


/*按起点站查找*/
void SearchBystart()
{
	char starts[20];
	int i;
	int j;
	printf("\n\t输入起点站:\n");
	scanf("%s",&starts);
	printf("\n\t查询结果:\n");
	for(i=0;i<SIZE;i++)
	{
		if(strcmp(train[i].start,starts)==0)  /*匹配起点*/
		{
			printf("\n*****************************************************************************************\n");
			printf("\n车次编号   出发站   出发时间   到达站   到达时间    车厢数   座位数     票价\n");
			printf("\n  %-9s %-9s %-9s %-9s  %-9s   %-9s%-9s%-9s\n",train[i].train_num,train[i].start,train[i].start_time,train[i].end,train[i].end_time,train[i].boxs,train[i].seats,train[i].price);
			printf("\n本车次经过主要大站信息:\n");
			printf("站次   站名   到达时间    开车时间    运行时间 \n");
			for(j=0;j<A;j++)
			{
				printf(" %d     %s    %s      %s         %s\n",train[i].station2[j].sta_num,train[i].station2[j].staname,train[i].station2[j].arrivetime,train[i].station2[j].takeofftime,train[i].station2[j].time);
			}
		}
	}
	printf("\n****************************************************************************************\n");
	Continue();
}


/*按终点站查找*/
void SearchByend()
{
	char ends[20];
	int i;
	int j;
	printf("\n\t输入终点站:\n");
	scanf("%s",&ends);
	printf("\n\t查询结果:\n");
	for(i=0;i<SIZE;i++)
	{
		if(strcmp(train[i].end,ends)==0)   /*匹配终点*/
		{
			printf("\n*****************************************************************************************\n");
			printf("\n车次编号   出发站   出发时间   到达站   到达时间    车厢数   座位数     票价\n");
			printf("\n  %-9s %-9s %-9s %-9s  %-9s   %-9s%-9s%-9s\n",train[i].train_num,train[i].start,train[i].start_time,train[i].end,train[i].end_time,train[i].boxs,train[i].seats,train[i].price);
			printf("\n本车次经过主要大站信息:\n");
			printf("站次   站名   到达时间    开车时间    运行时间 \n");
			for(j=0;j<A;j++)
			{
				printf(" %d     %s    %s      %s         %s\n",train[i].station2[j].sta_num,train[i].station2[j].staname,train[i].station2[j].arrivetime,train[i].station2[j].takeofftime,train[i].station2[j].time);
			}
		}
	}
	printf("\n****************************************************************************************\n");
	Continue();                            /*询问是否继续*/
}


/*查询剩余票信息*/
void findfree()
{
	ticketlinklist h;                      /*定义头结点*/
	Initicket(&h);                         /*初始化车票信息链表*/ 
	pticket q,p;
	int i,j;
	int m=0;
	int n=1;
	for(i=1;i<=10;i++)
		for(j=1;j<=20;j++)
		{
		p=(pticket)malloc(sizeof(ticket)); /*生成新结点*/
		p->box_num=i;                      /*车厢号*/
		p->discount=85;                   /*折扣*/
        p->seat_num=j;                     /*座位号*/
		p->next=h->next;                   /*头插法插入结点*/
		h->next=p;
		}
	q=h->next;                             /*遍历剩余车票信息链表*/
	while(q)
	{
		m++;
		printf("车厢号   座位号    折扣(%)  ");
		printf("%d        %d        %d\t\t",q->box_num,q->seat_num,q->discount);
		q=q->next;
		if(m%2==0)
			printf("\n");
	}
    printf("\n******************剩余票数:%d\n",m); /*遍历加计数器显示剩余票数*/
}


/*订票*/
void Booking()
{
	char answer[8];                         /*输入车次编号*/
	char names[20];                         /*输入姓名*/
	char numbers[20];                       /*输入电话号码*/
	char id[20];                            /*输入身份证号*/
	char b,l,e;
	int i,c,j=0;
	int amount;                             /*订票数量*/
	int boxs;                               /*车厢号*/
	int seats;                              /*座位号*/
	manlinklist h;                          /*定义头结点*/
	pman p,q;
	pticket m,n,x;
	h=z;
	printf("时间:\n");
	times();
	printf("\n*********************欢迎订票**********************\n");
	printf("输入订票数量:\n");
	scanf("%d",&amount);
	printf("请输入车次编号:\n");
	scanf("%s",answer);
	for(i=0;i<amount;i++)
	{
	printf("输入姓名:\n");
	scanf("%s",names);
	printf("输入电话:\n");
	scanf("%s",numbers);
	printf("输入身份证号:\n");
	scanf("%s",id);
	printf("输入你喜欢的车厢号:\n");
	scanf("%d",&boxs);
	printf("输入你喜欢的座位号:\n");
	scanf("%d",&seats);
		p=(pman)malloc(sizeof(man));           /*生成新结点*/  
		if(!p)
		{
			exit(0);
		}
	strcpy(p->name,names);                      /*将订票人员信息写入结点*/
	strcpy(p->phone_num,numbers);
	strcpy(p->idcard,id);
	p->booknums=amount;
	strcpy(p->book_num,numbers);
		p->next=h->next;                        /*插入结点*/
		h->next=p;
	}
	printf("订票成功,祝你乘坐愉快!\n\n");
	printf("请按任意键继续....\n");
	getchar();
	getchar();
	system("cls");
	printf("是否打印车票(Y/N)?");
	scanf("%s",&b);
	printf("车票信息如下:\n");
	printf("时间:");
		times();	
	if(b=='y'||b=='Y')
		q=h->next;      /*遍历乘客信息链表*/

		printf("\n********************************************************************\n");
		printf("  车厢号   座位号                          \n");
		printf("\n    %d       %d                                 \n",boxs,seats);
		printf("姓名     电话       身份证号         订单号 \n");	
		printf("\n%s     %s         %s              %s     \n",q->name,q->phone_num,q->idcard,q->book_num);
			q=q->next;

	for(c=0;c<SIZE;c++)
	{
		if(strcmp(train[c].train_num,answer)==0)   /*匹配车次*/
		{
			printf("\n车次编号   出发站   出发时间   到达站   到达时间    \n");
			printf("\n  %-9s %-9s %-9s %-9s  %-9s   \n",train[c].train_num,train[c].start,train[c].start_time,train[c].end,train[c].end_time);
		    printf("\n需要支付 %-9s元\n",train[c].price);
		}
	}
		printf("**********************************************************************\n\n");	

//*********************************************************************	
//在剩余车票信息中删除乘客所定的座位号车厢号 且剩余票数减一
//*********************************************************************		
		m=g;
		while(m->next)
		{
			if((m->next->box_num==boxs)&&(m->next->seat_num==seats))/*匹配订购的车厢号座位号*/
			{
				n=m->next;                                          /*匹配成功删除结点*/
				m->next=n->next;
				free(n);
				break;
			}
			else
				m=m->next;
		}	
		printf("是否显示剩余车票信息(Y/N):\n");
		scanf("%s",&l);
		if(l=='y'||l=='Y')
		{
			x=g->next;                                              /*遍历剩余车票信息链表*/
			while(x)
			{
				j++;
				printf("车厢号   座位号    折扣(%)  ");
				printf("%d        %d        %d\t\t",x->box_num,x->seat_num,x->discount);
				x=x->next;
				if(j%2==0)
				printf("\n");
			}
			printf("\n******************剩余票数:%d\n",j);          /*遍历加计数器的剩余票数*/
		}
		printf("是否继续订票(Y/N):\n");
		scanf("%s",&e);
		{
		if(e=='Y'||e=='y')
		{
			Booking();                        /*继续订票,调用订票函数本身*/
		}
		else
		{
			printf("按任意键返回主菜单!\n");
			getchar();
			getchar();
			prints();
		}
		}
}


/*退票*/
void Deleteticket()
{
	pman p,q;
	char s;
	char l;
	char id[20];             /*身份证号*/
	int boxs;
	int seats;
	int t=0;
	char e;
	pticket m,n,f;
	printf("时间:\n");
	times();
	printf("开始退票:\n");
	printf("请输入订票id:\n");
	scanf("%s",id);
	printf("输入订票的车厢号:\n");
	scanf("%d",&boxs);
	printf("输入订票的座位号:\n");
	scanf("%d",&seats);
	p=z;
	while(p)
	{
		if(strcmp(p->next->idcard,id)==0) /*匹配成功并显示订票信息*/
		{	
			printf("您的订票记录如下:\n");
			printf("*********************************************************\n");
			printf("*姓名     电话       身份证号         订单号 \n");	
			printf("*%s   %s         %s               %s     \n",p->next->name,p->next->phone_num,p->next->idcard,p->next->book_num);
			printf("*********************************************************\n\n");
	        break;
		}
		else
		{
			p=p->next;	
		}
	}
	printf("您确定要退票吗(Y/N)?");
	scanf("%s",&s);
	if(s=='y'||s=='Y')
	{
		q=p->next;                /*删除订票乘客信息*/
		p->next=q->next;
		free(q);
		printf("退票成功,感谢使用!\n");
	}
//***************************************************************
//在剩余车票信息中插入退票信息 并且 剩余车票数加一
//***************************************************************
		m=g;
		printf("是否显示剩余车票信息:\n");
		scanf("%s",&l);
		if(l=='y'||l=='Y')
		{	
				n=(pticket)malloc(sizeof(ticket));   /*生成新结点*/
				if(!n)
				{
					exit(0);
				}
				n->box_num=boxs;     /*将退票信息写入结点数据域*/
				n->discount=80;
				n->seat_num=seats;
				n->next=m->next;
				m->next=n;	
		}
	f=g->next;                       /*遍历剩余车票信息链表*/
	while(f)
	{
		t++;
		printf("车厢号   座位号    折扣(%)  ");
		printf("%d        %d        %d\t\t",f->box_num,f->seat_num,f->discount);
		f=f->next;
		if(t%2==0)
			printf("\n");
	}
    printf("\n******************剩余票数:%d\n",t);/*遍历加计数器*/
	printf("是否继续退票(Y/N):\n");
	if(e=='Y'||e=='y')
		{
			Deleteticket();                        /*继续退票,调用退票函数本身*/
		}
		else
		{
			printf("按任意键返回主菜单!\n");
			getchar();
			getchar();
			prints();
		}
}


/*车票信息查询*/
void SearchMenu()
{
	system("cls");                         /*清空屏幕*/
	system("color 1f");                    /*屏幕颜色*/
	char c;
	system("mode con: cols=150 lines=170");/*屏幕显示的大小*/
	printf("时间:");
	times();                               /*调用时间*/
	while(1)
	{
		printf("\n*******************************查询菜单*************************************\n");
		printf("\n============================================================================\n");
		printf("\n*****************************1.车次信息整体预览*****************************\n");
		printf("\n              ***************2.按班次号查询*************                    \n");
		printf("\n                      *******3.按起点站查询*******                          \n");
		printf("\n              ***************4.按终点站查询*************                    \n");
		printf("\n*****************************5.返回主菜单***********************************\n");
		printf("\n============================================================================\n");
		printf("请选择查询方式(1-5):");
		scanf("%s",&c);
		switch(c)
		{
			case'1':ShowMessage();break;
			case'2':SearchByNumber();break;
			case'3':SearchBystart();break;
			case'4':SearchByend();break;
			case'5':return;	
		}
	}
}

/*菜单打印*/
void prints()
{
	printf("时间:\n");
	times();                                       /*调用时间*/
	char c;
	do
	{
		printf("   ┏━━━━━━━━━━━━━━━━━━━┓\n");
		printf("   ┃            火车票订票系统            ┃\t\n");
		printf("   ┃            1.班次信息录入            ┃\t\n"); 
		printf("   ┃            2.车票信息查询菜单        ┃\t\n"); 
		printf("   ┃            3.办理火车票订票          ┃\t\n"); 
		printf("   ┃            4.办理火车票退票          ┃\t\n");
		printf("   ┃            5.退出本系统              ┃\t\n");
		printf("   ┗━━━━━━━━━━━━━━━━━━━┛\n");
		printf("\n请确保你选择的范围(1-5):");
		scanf("%s",&c);
		switch(c)
		{
		case'1':
			{
				//InsertMessaage();   /*班次信息录入*/
			
			}break;
		case'2':
			{
				Initman();
				SearchMenu();       /*查询*/ 
				
			}break;
		case'3':
			{
				registers();
				check();
				Booking();          /*订票*/
				getchar();
			}break;
		case'4':
			{
				Deleteticket();     /*退票*/
			}break;
		case'5':
			{
				printf("***********************************感谢你的使用!********************************\n");
			}exit(0);              /*退出程序*/
		default:break;
		}
	}while(1);
}


/*主函数*/
int main()                                                              
{	
	system("cls");                            
	system("color 2f");                            /*窗口颜色*/
	system("mode con: cols=100 lines=50");         /*窗口大小*/
	printf("\n**********************************\n");
	printf("\t2015年物联网课程设计\n");
	printf("\t设计者:李宁\n");
	printf("***********************************\n");
	char pas[6];
	printf("输入密码:\n");
	scanf("%s",pas);
	if(Check(pas))                                 /*密码验证*/
	{
	prints();
	}
	return 0;
}


posted @ 2016-03-29 15:56  云端止水  阅读(435)  评论(0编辑  收藏  举报