C 语言实现航空购票系统(新手笔记待完善代码)

用c语言基础知识实现一个简单的航空购票系统

#include<stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdbool.h>
#include<math.h>
#include<Windows.h>
#include<time.h>

int online=0;//登录状态
int success = 0;//购票状态
int a = 0;//所定航班
int c = 0;//票号

struct stu {
	char last[12];//姓名
	char sex[4];//性别
	char sf[18];//身份证
	int phone[12];//电话
}sut, s;

void loginfo(void);
void meau(void);			//主菜单
void meau1(void);			//查询航班菜单
void me1(void);				//按航班号查询	
void meau2(void);			//显示航班菜单
void meau3(void);			//订票
void meau4(void);			//退票
void me2piao(void);
void login(void);


int main() {
	printf("正在初始化系统,请稍后......\n");
	system("date /T");
	system("TIME /T");
	system("color 9");
	Sleep(3000);
	printf("正在加载航班信息,请稍后......");
	Sleep(2000);
	printf("\n");
	system("cls");
	login();
	loginfo();
}
//登录
void loginfo(void) {
	while (1) {	
		char name[32];
		char password[16];
		char line[128];
		char name_tmp[32];
		char password_tmp[16];
		name[31] = '\0';
		password[15] = '\0';
		name_tmp[31] = '\0';
		password_tmp[15] = '\0';
		int number, count;
		number = 0;//3次机会
		count = 3;//循环3次
		while (count--) {
			char* ter;
			FILE* file;
			file = fopen("users.txt", "r");
			if (file == NULL) {       //打开文件users并且判断文件是否为空
				printf("打开文件失败!");
			}
			printf("              *----------------------------------------------------------------------*\n");
			printf("              | ***温馨提示:您只有三次机会,否则将关闭本系统***                       |\n");
			printf("              * ---------------------------------------------------------------------*\n");
			int s = 0, i = 0;
			printf("=========================欢迎使用1153购票系统==========================\n");
			printf("请输入账号:");
			scanf_s("%s", name, 31);
			printf("请输入密码:");
			scanf_s("%s", password, 15);
			while (1) {
				ter = fgets(line, sizeof(line), file);   //读取一行
				if (!ter) {
					break;
				}
				sscanf_s(line, "%s %s", name_tmp, 31, password_tmp, 15);
				if (strcmp(name, name_tmp) == 0 && strcmp(password, password_tmp) == 0) {
					online = 1;
					break;
				}
			}
			if (ter) {
				break;
			}
			else {
				printf("账号或密码错误!");
				number++;
				online = 0;
				system("pause");
				system("cls");
				if (number == 3) {
					return;
				}
			}
			if (ter) {
				break;
			}
		}
		if (online==1) {
			system("cls");
			break;
		}
	}	
			void (*m1)();		//函数指针
			m1 = meau;
			m1();
}
//各航班
void login(void) {
	printf("**************************************************************************************************\n");
	printf("*航班号	起点	终点   飞行日	起飞时间	到达时间      机型      价格     乘员定额     余票量 *\n");
	printf("*CA1544	合肥	北京	1.3.5	10:55      \t12 : 40       A733      960       100          90    *\n");
	printf("*MU5341	上海	广州	每日	14 : 20	   \t16 : 15       M90      1280	  150         150    *\n");
	printf("*CZ3869	重庆	深圳	2.4.6	08 : 55	   \t10 : 35       733      1010	  100         100    *\n");
	printf("*MU3682	桂林	南京	2.3.4	20 : 50	   \t22 : 15       M90      1380	  150         120    *\n");
	printf("*HU1836	上海	北京	每日	09 : 40	   \t11 : 20       738      1250	  120         120    *\n");
	printf("*CZ3528	成都	厦门	1.3.5	15 : 10	   \t16 : 50       CRJ      1060	  130         130    *\n");
	printf("*MU4594	昆明	西安	2.4.6	10 : 15	   \t11 : 40       328      1160	  140         140    *\n");
	printf("*SC7425	青岛	海口	1.3.6	19 : 20    \t21 : 20       DH4      1630	  190         190    *\n");
	printf("*CA1234	洛阳	上海	1.3.5	08 : 00	   \t10 : 00       DH4      1050	  300         300    *\n");
	printf("*CA4321	shai	洛阳	2.4.6	16 : 00	   \t18 : 00       DH4      1100	  300         300    *\n");
	printf("**************************************************************************************************\n");
}	
//主菜单
void meau(void) {      //系统界面
		int sel;
		printf("|==============欢迎使用1152购票系统=============|\n");
		printf("|1.-------         查        询          -------|\n");
		printf("|2.-------         修 改  信 息          -------|\n");
		printf("|3.-------         订  ---   票          -------|\n");
		printf("|4.-------         退  ---   票          -------|\n");
		printf("|0.-------        退  出  系  统         -------|\n");
		printf("|===============================================|\n");
		printf("请选择:");
		scanf_s("%d", &sel);
		switch (sel) {
		case 1:meau1(); break;
		case 2:meau2(); break;
		case 3:meau3(); break;
		case 4:meau4(); break;
		case 0:system("cls"); return ;
		defualt:printf("输入错误!");
		}
}
//查询子菜单
void meau1(void) {		//查询航班信息
	system("cls");
	int subsel=0;
	while (1)
	{
		printf("========================================================\n");
		printf("=                 各航线信息的子菜单                   =\n");
		printf("========================================================\n");
		printf("*                   1.查询个人信息                     *\n");
		printf("*                   2.查询订单                         *\n");
		printf("*                   3.返回主菜单                       *\n");
		printf("========================================================\n");
		printf("请选择:");
		scanf_s("%d", &subsel);
		switch (subsel) {
		case 1: me1(); break;
		case 2: me2piao();
		case 3:
			system("cls"); return meau();
		default:printf("输入错误\n");
		}
	}
}
void me1(void){
printf("===============个人信息=============\n");
printf("*     姓名:%s                        *\n",s.last);
printf("*     性别:%s                        *\n",s.sex);
printf("*     身份证:%s                      *\n",s.sf);
printf("*     联系电话:%d                   *\n",s.phone);
printf("------------------------------------\n");
system("pause");
system("cls");
}
void me2piao(void) {
	if (success != 1) {
		system("cls");
		Sleep(1500);
		printf("请先购票,谢谢!\n");
		return meau1();
		}
	if (success == 1) {
		if (a == 1) {
			printf("********************************************************************\n");
			printf("*                    登机牌   BOARDING PASS                        *\n");
			printf("*    航班        日期        航位        序号         座位号       *\n");
			printf("*   FLIGHT       DATE       CLASS      SERIAL NO.    SEAT  NO.     *\n");
			printf("*   CA1544    2019.11.14                                           *\n");
			printf("*                                                                  *\n");
			printf("*   始发地 From         目的地 To                                  *\n");
			printf("*   合肥   hefei        北京   Beijing                             *\n");
			printf("*   姓名:%s                                                         *\n", s.last);
			printf("*                祝     您     旅     途     愉    快  !           *\n");
			printf("*                                                                  *\n");
			printf("********************************************************************\n");
		}
		else if (a == 2) {
			printf("********************************************************************\n");          //上海     广州
			printf("*                    登机牌   BOARDING PASS                        *\n");
			printf("*    航班        日期        航位        序号         座位号       *\n");
			printf("*   FLIGHT       DATE       CLASS      SERIAL NO.    SEAT  NO.     *\n");
			printf("*   MU5341    2019.11.14                                           *\n");
			printf("*   机型 M90            票价 1280                                  *\n");
			printf("*   始发地 From         目的地 To                                  *\n");
			printf("*   上海   Shanghai     广州   Guangzhou                           *\n");
			printf("*   姓名:%s                                                         *\n", s.last);
			printf("*                                                                  *\n");
			printf("*                祝     您     旅     途     愉    快  !           *\n");
			printf("********************************************************************\n");
		}
		else if (a == 3) {
			printf("********************************************************************\n");          //重庆    深圳
			printf("*                    登机牌   BOARDING PASS                        *\n");
			printf("*    航班        日期        航位        序号         座位号       *\n");
			printf("*   FLIGHT       DATE       CLASS      SERIAL NO.    SEAT  NO.     *\n");
			printf("*   CZ3869    2019.11.14                                           *\n");
			printf("*   机型 733            票价 1010                                  *\n");
			printf("*   始发地 From         目的地 To                                  *\n");
			printf("*   重庆   Chongqing    深圳   Shenzhen                            *\n");
			printf("*   姓名:%s                                                         *\n", s.last);
			printf("*                                                                  *\n");
			printf("*                祝     您     旅     途     愉    快  !           *\n");
			printf("********************************************************************\n");
		}
		else if (a == 4) {
			printf("********************************************************************\n");          //桂林   南京
			printf("*                    登机牌   BOARDING PASS                        *\n");
			printf("*    航班        日期        航位        序号         座位号       *\n");
			printf("*   FLIGHT       DATE       CLASS      SERIAL NO.    SEAT  NO.     *\n");
			printf("*   MU3682    2019.11.14                                           *\n");
			printf("*   机型  M90           票价 1380                                  *\n");
			printf("*   始发地 From         目的地 To                                  *\n");
			printf("*   桂林   Guilin       南京   Nanjing                             *\n");
			printf("*   姓名:%s                                                         *\n", s.last);
			printf("*                                                                  *\n");
			printf("*                祝     您     旅     途     愉    快  !           *\n");
			printf("********************************************************************\n");
		}
		else if (a == 5) {
			printf("********************************************************************\n");          //上海    北京
			printf("*                    登机牌   BOARDING PASS                        *\n");
			printf("*    航班        日期        航位        序号         座位号       *\n");
			printf("*   FLIGHT       DATE       CLASS      SERIAL NO.    SEAT  NO.     *\n");
			printf("*   HU1836    2019.11.14                                           *\n");
			printf("*   机型  738           票价 1250                                  *\n");
			printf("*   始发地 From         目的地 To                                  *\n");
			printf("*   上海   Shanghai     北京   Beijing                             *\n");
			printf("*   姓名:%s                                                         *\n", s.last);
			printf("*                                                                  *\n");
			printf("*               祝     您     旅     途     愉    快  !            *\n");
			printf("********************************************************************\n");
		}
		else if (a == 6) {
			printf("********************************************************************\n");          //成都     厦门
			printf("*                    登机牌   BOARDING PASS                        *\n");
			printf("*    航班        日期        航位        序号         座位号       *\n");
			printf("*   FLIGHT       DATE       CLASS      SERIAL NO.    SEAT  NO.     *\n");
			printf("*   MU5341    2019.11.14                                           *\n");
			printf("*   机型 CRJ           票价 1060                                   *\n");
			printf("*   始发地 From         目的地 To                                  *\n");
			printf("*  成都  Chengdu        厦门   Xiamen                              *\n");
			printf("*   姓名:%s                                                         *\n", s.last);
			printf("*                                                                  *\n");
			printf("*                祝     您     旅     途     愉    快  !           *\n");
			printf("********************************************************************\n");

		}
		else if (a == 7) {
			printf("********************************************************************\n");          //昆明    西安
			printf("*                    登机牌   BOARDING PASS                        *\n");
			printf("*    航班        日期        航位        序号         座位号       *\n");
			printf("*   FLIGHT       DATE       CLASS      SERIAL NO.    SEAT  NO.     *\n");
			printf("*   MU5341    2019.11.14                                           *\n");
			printf("*   机型 328            票价 1160                                  *\n");
			printf("*   始发地 From         目的地 To                                  *\n");
			printf("*   昆明  Kunming       西安   Xian                                *\n");
			printf("*   姓名:%s                                                         *\n", s.last);
			printf("*                                                                  *\n");
			printf("*                祝     您     旅     途     愉    快  !           *\n");
			printf("********************************************************************\n");
		}
		else if (a == 8) {
			printf("********************************************************************\n");          //青岛    海口
			printf("*                    登机牌   BOARDING PASS                        *\n");
			printf("*    航班        日期        航位        序号         座位号       *\n");
			printf("*   FLIGHT       DATE       CLASS      SERIAL NO.    SEAT  NO.     *\n");
			printf("*   MU5341    2019.11.14                                           *\n");
			printf("*   机型 DH4            票价 1630                                  *\n");
			printf("*   始发地 From         目的地 To                                  *\n");
			printf("*   青岛   Qingdao      海口   Haikou                              *\n");
			printf("*   姓名:%s                                                         *\n", s.last);
			printf("*                                                                  *\n");
			printf("*                祝     您     旅     途     愉    快  !           *\n");
			printf("********************************************************************\n");
		}else if (a == 9) {
		printf("********************************************************************\n");          //洛阳     上海
		printf("*                    登机牌   BOARDING PASS                        *\n");
		printf("*    航班        日期        航位        序号         座位号       *\n");
		printf("*   FLIGHT       DATE       CLASS      SERIAL NO.    SEAT  NO.     *\n");
		printf("*   MU5341    2019.11.14                                           *\n");
		printf("*   机型 DH4            票价 1050                                  *\n");
		printf("*   始发地 From         目的地 To                                  *\n");
		printf("*   洛阳   Luoyang      上海   Shanghai							   *\n");
		printf("*   姓名:%s                                                         *\n", s.last);
		printf("*                                                                  *\n");
		printf("*                祝     您     旅     途     愉    快  !           *\n");
		printf("********************************************************************\n");
		}else if (a == 10) {
		printf("********************************************************************\n");          //上海     洛阳
		printf("*                    登机牌   BOARDING PASS                        *\n");
		printf("*    航班        日期        航位        序号         座位号       *\n");
		printf("*   FLIGHT       DATE       CLASS      SERIAL NO.    SEAT  NO.     *\n");
		printf("*   MU5341    2019.11.14                                           *\n");
		printf("*   机型 DH4            票价 1100                                  *\n");
		printf("*   始发地 From         目的地 To                                  *\n");
		printf("*   上海   Shanghai     洛阳   Lsuoyang                            *\n");
		printf("*   姓名:%s                                                         *\n", s.last);
		printf("*                                                                  *\n");
		printf("*                祝     您     旅     途     愉    快  !           *\n");
		printf("********************************************************************\n");
		}else {
			printf("暂无信息!");
			system("cls");
			printf("1.5秒后自动跳转主菜单.....");
			return meau();
		}
	}
			system("pause");
			system("cls");
			return meau(); 
}
void meau2(void) {		//修改个人信息
	system("cls");
	printf("请输入你的姓名:\n");
	scanf_s("%s", &s.last, 12);
	printf("请输入你的性别:\n");
	scanf_s("%s", &s.sex, 4);
	printf("请输入你的身份证号:\n");
	scanf_s("%s", &s.sf, 18);
	printf("请输入你的联系电话:\n");
	scanf_s("%d", &s.phone[10]);
	printf("正在更改中,请稍后....\n");
	Sleep(3000);
	printf("更改成功!\n");
	printf("3秒后自动跳转主菜单!....\n");
	Sleep(3000);
	system("cls");
	return meau();
}

void meau3(void) {		//订票
	system("cls");
	printf("              *----------------------------------------------------------------------*\n");
	printf("              | ***温馨提示:由于系统延迟,购票情况请以购票提示为准***                 |\n");
	printf("              * ---------------------------------------------------------------------*\n");
	printf("**************************************************************************************************************\n");
	printf("*   航班号	起点	终点	飞行日	起飞时间	到达时间      机型      价格     乘员定额     余票量  *\n");
	printf("*01.CA1544	合肥	北京	1.3.5	10:55	   \t12 : 40       A733      960       100          90     *\n");
	printf("*02.MU5341	上海	广州	每日	14 : 20	   \t16 : 15       M90      1280	  150         150     *\n");
	printf("*03.CZ3869	重庆	深圳	2.4.6	08 : 55	   \t10 : 35       733      1010	  100         100     *\n");
	printf("*04.MU3682	桂林	南京	2.3.4	20 : 50	   \t22 : 15       M90      1380	  150         120     *\n");
	printf("*05.HU1836	上海	北京	每日	09 : 40	   \t11 : 20       738      1250	  120         120     *\n");
	printf("*06.CZ3528	成都	厦门	1.3.5	15 : 10	   \t16 : 50       CRJ      1060	  130         130     *\n");
	printf("*07.MU4594	昆明	西安	2.4.6	10 : 15	   \t11 : 40       328      1160	  140         140     *\n");
	printf("*08.SC7425	青岛	海口	1.3.6	19 : 20    \t21 : 20       DH4      1630	  190         190     *\n");
	printf("*09.CA1234	洛阳	上海	1.3.5	08 : 00	   \t10 : 00       DH4      1050	  300         300     *\n");
	printf("*10.CA4321	shai	洛阳	2.4.6	16 : 00	   \t18 : 00       DH4      1100	  300         300     *\n");
	printf("**************************************************************************************************************\n");
		printf("请选择你要订的航班:");
		scanf_s("%d", &a);
		switch (a) {
			printf("航班号	起点	终点	飞行日	起飞时间	到达时间      机型      价格     乘员定额     余票量\n");
		case 1:printf("CA1544	合肥	北京	1.3.5	10:55	   \t12 : 40       A733      960       100          90\n"); break;
		case 2:printf("MU5341	上海	广州	每日	14 : 20	   \t16 : 15       M90      1280	  150         150 \n"); break;
		case 3:printf("CZ3869	重庆	深圳	2.4.6	08 : 55	   \t10 : 35       733      1010	  100         100 \n"); break;
		case 4:printf("MU3682	桂林	南京	2.3.4	20 : 50	   \t22 : 15       M90      1380	  150         120 \n"); break;
		case 5:printf("HU1836	上海	北京	每日	09 : 40	   \t11 : 20       738      1250	  120         120 \n"); break;
		case 6:printf("CZ3528	成都	厦门	1.3.5	15 : 10	   \t16 : 50       CRJ      1060	  130         130 \n"); break;
		case 7:printf("MU4594	昆明	西安	2.4.6	10 : 15	   \t11 : 40       328      1160	  140         140 \n"); break;
		case 8:printf("SC7425	青岛	海口	1.3.6	19 : 20    \t21 : 20       DH4      1630	  190         190 \n"); break;
		case 9:printf("CA1234	洛阳	上海	1.3.5	08 : 00	   \t10 : 00       DH4      1050	  300         300 \n"); break;
		case 10:printf("CA4321	shai	洛阳	2.4.6	16 : 00	   \t18 : 00       DH4      1100	  300         300 \n"); break;
		default:system("cls"); 
			printf("暂无该航班!");
			system("pause");
			return meau3();
		}

	printf("==================请输入你的身份信息==================\n");
	printf("请输入你的姓名:");
	scanf_s("%s", &s.last,12);
	printf("请输入你的性别:");
	scanf_s("%s", &s.sex,4);
	printf("请输入你的身份证号:");
	scanf_s("%s", &s.sf,18);
	printf("请输入你的联系电话:");
	scanf_s("%d", &s.phone,12);
	getchar();
	system("pause");
	fflush(stdin);
	printf("请确认是否购买(1.确定/2.取消)\n");
	fflush(stdin);
	int yes;
	scanf_s("%d",&yes);
	if(yes==1){
		system("cls");
		printf("正在购票中,请稍后****\n");
		Sleep(1500);
		printf("============6=购票成功============\n"); Sleep(1500);
		system("cls");
		c = 1;
		success = 1;
		return meau();
	}else {
		printf("已取消!\n");
		Sleep(1500);
		printf("正在自动跳转主菜单......");
		system("cls");
		return meau();
	}
}

void meau4(void) {		//退票
	system("cls");
	if (success == 1) {
		if (c == 1) {
			printf("您账户下的票为:CA1544	合肥-北京");
			printf("请确认是否退票(1.确定/0.取消)\n");
			int t = 0;
			scanf_s("%d", &t);
			if (t == 1) {
				success = 0;
			}
		}else if (c == 2) {
			printf("您账户下的票为:MU5341	上海-广州");
			printf("请确认是否退票(1.确定/2.取消)\n");
			int t = 0;
			scanf_s("%d", &t);
			if (t == 1) {
				success = 0;
			}
		}else if (c == 3) {
			printf("您账户下的票为:CZ3869	重庆-深圳");
			printf("请确认是否退票(1.确定/2.取消)\n");
			int t = 0;
			scanf_s("%d", &t);
			if (t == 1) {
				success = 0;
			}
		}
		else if (c == 4) {
			printf("您账户下的票为:CZ3869	重庆-深圳");
			printf("请确认是否退票(1.确定/2.取消)\n");
			int t = 0;
			scanf_s("%d", &t);
			if (t == 1) {
				success = 0;
			}
		}
		else if (c == 5) {
			printf("您账户下的票为:CZ3869	重庆-深圳");
			printf("请确认是否退票(1.确定/2.取消)\n");
			int t = 0;
			scanf_s("%d", &t);
			if (t == 1) {
				success = 0;
			}
		}
		else if (c == 6) {
			printf("您账户下的票为:CZ3869	重庆-深圳");
			printf("请确认是否退票(1.确定/2.取消)\n");
			int t = 0;
			scanf_s("%d", &t);
			if (t == 1) {
				success = 0;
			}
		}
		else if (c == 7) {
			printf("您账户下的票为:CZ3869	重庆-深圳");
			printf("请确认是否退票(1.确定/2.取消)\n");
			int t = 0;
			scanf_s("%d", &t);
			if (t == 1) {
				success = 0;
			}
		}
		else if (c == 8) {
			printf("您账户下的票为:CZ3869	重庆-深圳");
			printf("请确认是否退票(1.确定/2.取消)\n");
			int t = 0;
			scanf_s("%d", &t);
			if (t == 1) {
				success = 0;
			}
		}
		else if (c == 9) {
			printf("您账户下的票为:CZ3869	重庆-深圳");
			printf("请确认是否退票(1.确定/2.取消)\n");
			int t = 0;
			scanf_s("%d", &t);
			if (t == 1) {
				success = 0;
			}
		}
		else if (c == 10) {
			printf("您账户下的票为:CZ3869	重庆-深圳");
			printf("请确认是否退票(1.确定/2.取消)\n");
			int t = 0;
			scanf_s("%d", &t);
			if (t == 1) {
				success = 0;
			}
		}
		else if (c == 0) {
			printf("已取消\n");
	}
	printf("退票成功\n");
	}
	else {
		printf("请先购票,谢谢!");
	}
		printf("3秒后自动跳转主菜单\n");
			Sleep(3000);
			system("cls");
			return meau();
}
  • 2
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值