运维开发网

飞机订票系统的C++实现

运维开发网 https://www.qedev.com 2022-10-18 14:45 出处:网络
这篇文章主要为大家详细介绍了C++实现飞机订票系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

这篇文章主要为大家详细介绍了C++实现飞机订票系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文分享了用C++实现机票预订系统的具体代码,供大家参考。具体情况如下

// 飞机订票系统.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include lt;stdio.hgt;#include lt;string.hgt;#includelt;stdlib.hgt;#includelt;conio.hgt;#define N 2typedef struct plane{ char ID; char Start_Place[10]; char End_Place[10]; float price; int Buy_num; int Max_num; char time[20];}PLANE;PLANE p[N];void menu();void menu1();void count(){ char a[10]; int i, num = 0; printf("请您输入要统计的飞机目的地:"); scanf("%s", a); printf("航班代号 起始地点 目的地 票价 已售 乘客容量 时间/n"); for (i = 0; ilt;N; i++) { if (strcmp(a, p[i].End_Place) == 0) { num++; printf("%s %s %s %7.2f %d %d %d/n", p[i].ID, p[i].Start_Place, p[i].End_Place, p[i].price, p[i].Buy_num, p[i].Max_num, p[i].time); } } printf("/n您想统计的航班有%d条!/n", num); getchar(); menu1();}void browse(){ int i; system("cls"); printf("浏览航班信息:/n"); printf("航班代号 起始地点 目的地 票价 已售 乘客容量 时间/n"); for (i = 0; ilt;N; i++) { printf("%s %s %s %7.2f %d %d %s/n", p[i].ID, p[i].Start_Place, p[i].End_Place, p[i].price, p[i].Buy_num, p[i].Max_num, p[i].time); } getchar(); menu();}void order(){ int i, j; PLANE temp; for (i = 0; ilt;N; i++) { for (j = i; jlt;N; j++) { if (strcmp(p[i].time, p[j].time)gt;0) { temp = p[i]; p[i] = p[j]; p[j] = temp; } } } browse();}void enter(){ int i; system("cls"); printf("请您输入航班信息:"); for (i = 0; ilt;N; i++) { printf("航班代号:"); scanf("%s", p[i].ID); printf("起飞地点:"); scanf("%s", p[i].Start_Place); printf("目的地点:"); scanf("%s", p[i].End_Place); printf("票价:"); scanf("%f", amp;p[i].price); p[i].Buy_num = 0; printf("乘客容量:"); scanf("%d", amp;p[i].Max_num); printf("起飞时间:"); scanf("%s", p[i].time); } getchar(); menu();}void buy(){ char t[20], place[20]; int i, w = 0, num; printf("时间"); scanf("%s", t); printf("mudidi"); scanf("%s", place); for (i = 0; ilt;N; i++) { if (strcmp(t, p[i].time) == 0 amp;amp; strcmp(place, p[i].End_Place) == 0) { w = 1; printf("%s %s %s %7.2f %d %d %s/n", p[i].ID, p[i].Start_Place, p[i].End_Place, p[i].price, p[i].Buy_num, p[i].Max_num, p[i].time); printf("买几张票!"); scanf("%d", amp;num); if (p[i].Buy_num + numgt;p[i].Max_num) { printf("当前余票不足,只剩%d张", p[i].Max_num - p[i].Buy_num); } else { p[i].Buy_num = p[i].Buy_num + num; printf("购票成功!"); } } } if (w == 0) printf("没有您要得票!"); getchar(); menu1();}void back(){ char id[20]; int i, w = 0; printf("id:"); scanf("%s", id); for (i = 0; ilt;N; i++) { if (strcmp(id, p[i].ID) == 0) { p[i].Buy_num--; printf("退票成功"); w = 1; } } if (w == 0) printf("退票失败"); getchar(); menu1();}void bowse_time(){ char a[20]; int i, w = 0; printf("请您输入要查询的飞机起飞时间:"); scanf("%s", a); printf("航班代号 起始地点 目的地 票价 已售 乘客容量 时间/n"); for (i = 0; ilt;N; i++) { if (strcmp(a, p[i].time) == 0) { w = 1; printf("%s %s %s %7.2f %d %d %s/n", p[i].ID, p[i].Start_Place, p[i].End_Place, p[i].price, p[i].Buy_num, p[i].Max_num, p[i].time); } } if (w == 0) printf("没有您想查询的航班!/n"); getchar(); menu1();}void bowse_palce(){ char a[10]; int i, w = 0; printf("请您输入要查询的飞机目的地:"); scanf("%s", a); printf("航班代号 起始地点 目的地 票价 已售 乘客容量 时间/n"); for (i = 0; ilt;N; i++) { if (strcmp(a, p[i].End_Place) == 0) { w = 1; printf("%s %s %s %7.2f %d %d %d/n", p[i].ID, p[i].Start_Place, p[i].End_Place, p[i].price, p[i].Buy_num, p[i].Max_num, p[i].time); } } if (w == 0) printf("没有您想查询的航班!/n"); getchar(); menu1();}void bowse_ID(){ char a[10]; int i, w = 0; printf("请您输入要查询的飞机航班号:"); scanf("%s", a); printf("航班代号 起始地点 目的地 票价 已售 乘客容量 时间/n"); for (i = 0; ilt;N; i++) { if (strcmp(a, p[i].ID) == 0) { w = 1; printf("%s %s %s %7.2f %d %d %d/n", p[i].ID, p[i].Start_Place, p[i].End_Place, p[i].price, p[i].Buy_num, p[i].Max_num, p[i].time); } } if (w == 0) printf("没有您想查询的航班!/n"); getchar(); menu1();}void menu1(){ int n, w1; do { system("cls"); puts("/t/t/t/t 飞机售票操作!/n/n"); puts("/t/t*********************MENU*********************/n/n"); puts("/t/t/t/t1.Buy ticket"); puts("/t/t/t/t2.return ticket"); puts("/t/t/t/t3.bowse by time"); puts("/t/t/t/t4.bowse by end palce"); puts("/t/t/t/t5.bowse by plane ID"); puts("/t/t/t/t6.return to menu"); puts("/n/n/t/t**********************************************/n"); printf("Choice your number(1-6): [ ]/b/b"); scanf("%d", amp;n); if (nlt;0 || ngt;6) { w1 = 1; printf("your choice is not between 1 and 4,Please input again:"); getchar(); } else w1 = 0; } while (w1 == 1); switch (n) { case 1:buy(); break; case 2:back(); break; case 3:bowse_time(); break; case 4:bowse_palce(); break; case 5:bowse_ID(); break; case 6:menu(); }}int save(){ int w = 1; FILE *fp; int i; system("cls"); if ((fp = fopen("c://ticket.txt", "wb")) == NULL) { printf("/nCannot open file/n"); return NULL; } for (i = 0; ilt;N; i++) if (fwrite(amp;p[i], sizeof(struct plane), 1, fp) != 1) { printf("file write error/n"); w = 0; } if (w == 1) { printf("file save ok!/n"); } fclose(fp); getchar(); menu();}int load(){ FILE *fp; int i, w; w = 1; system("cls"); if ((fp = fopen("c://ticket.txt", "rb")) == NULL) { printf("/nCannot open file/n"); w = 0; return NULL; } for (i = 0; !feof(fp); i++) { fread(amp;p[i], sizeof(struct plane), 1, fp); } fclose(fp); if (w == 1) printf("Load file ok!"); getchar(); menu();}void main(){ menu();}void menu(){ int n, w1; do { system("cls"); puts(" 飞机售票系统 "); puts("*************************MENU*************************"); puts(" 1. Enter new plane"); puts(" 2. Browse all"); puts(" 3. opreration"); puts(" 4. Save file"); puts(" 5. Load file"); puts(" 6. Exit"); puts("******************************************************"); printf("Choice your number(1-6): "); scanf("%d", amp;n); if (nlt;0 || ngt;6) { w1 = 1; printf("your choice is not between 1 and 6,Please input again:"); getchar(); } else w1 = 0; } while (w1 == 1); switch (n) { case 1: enter(); break; case 2: browse(); break; case 3: menu1(); break; case 4: save(); break; case 5: load(); break; case 6: exit(0); }}


这就是本文的全部内容。希望对大家的学习有帮助

0

精彩评论

暂无评论...
验证码 换一张
取 消