<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
本文範例為大家分享了C++實現飛機訂票系統的具體程式碼,供大家參考,具體內容如下
// 飛機訂票系統.cpp : 定義控制檯應用程式的入口點。 // #include "stdafx.h" #include <stdio.h> #include <string.h> #include<stdlib.h> #include<conio.h> #define N 2 typedef struct plane { char ID[10]; 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; i<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; i<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; i<N; i++) { for (j = i; j<N; j++) { if (strcmp(p[i].time, p[j].time)>0) { temp = p[i]; p[i] = p[j]; p[j] = temp; } } } browse(); } void enter() { int i; system("cls"); printf("請您輸入航班資訊:"); for (i = 0; i<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", &p[i].price); p[i].Buy_num = 0; printf("乘客容量:"); scanf("%d", &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; i<N; i++) { if (strcmp(t, p[i].time) == 0 && 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", &num); if (p[i].Buy_num + num>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; i<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; i<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; i<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; i<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", &n); if (n<0 || n>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; i<N; i++) if (fwrite(&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(&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", &n); if (n<0 || n>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); } }
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援it145.com。
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45