日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

C语言程序设计期末作业——航班

發(fā)布時間:2024/1/1 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C语言程序设计期末作业——航班 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

介紹

  • 又到了一年一度的期末大作業(yè)時刻了,小伙伴們又掉了多少頭發(fā)(Doge)
  • 存儲主體采用鏈表,食用時記得填寫航班文件的路徑

代碼

#include<stdio.h> #include<windows.h> #include<string.h>struct System_Data {char Flight_Number[20];char Take_Off[20];double Time_Cost;char Land[20];int Price;char Model[10];int All_Tickets;int Tickets_Sold;struct System_Data *Next;};//-----------------函數(shù)與初始化---------------- void Welcome();struct System_Data * Initialization();//創(chuàng)建數(shù)據(jù)鏈表void menu(struct System_Data *head);//系統(tǒng)菜單void Data_input(struct System_Data *head);//數(shù)據(jù)讀取void Check(struct System_Data *head);//機票查詢struct System_Data *Check_Flight_Number(struct System_Data *p);//按航班號查詢struct System_Data *Check_Take_Off(struct System_Data *p, struct System_Data *Ans);//按起點查詢struct System_Data *Check_Land(struct System_Data *p, struct System_Data *Ans);//按終點查詢struct System_Data *Check_Time_Cost(struct System_Data *p, struct System_Data *Ans);//按飛行時間查詢void Print(struct System_Data *Ans,struct System_Data *head);void print(struct System_Data *Ans,struct System_Data *head);//全部機票數(shù)據(jù)輸出void Back(struct System_Data *head);void Copy(struct System_Data *p,struct System_Data *t);int Flights_Count; //航班數(shù)//--------------------------------------------int main() {Welcome();//歡迎界面Sleep(2000);system("cls");//初始化struct System_Data *head;head=Initialization();menu(head);//菜單system("pause");return 0; }void Welcome() {printf("**************************\n");printf("* 歡迎進入航班訂票系統(tǒng) *\n");printf("**************************\n");Sleep(1500);system("cls");printf("**********************\n");printf("* 作者 *\n");printf("**********************\n");printf("* *\n");printf("* *\n");printf("* *\n");printf("**********************\n"); }struct System_Data *Initialization() {struct System_Data *head=(struct System_Data*)malloc(sizeof(struct System_Data));head->Next=NULL;return head; }void menu(struct System_Data *head) {int select;printf("*****************************\n");printf("* 民航訂票系統(tǒng) *\n");printf("* 1.航班信息錄入/更新 *\n");printf("* 2.查詢航線信息 *\n");printf("* 0.退 出 系 統(tǒng) *\n");printf("*****************************\n");scanf("%d",&select);switch(select){case 1:system("cls");Data_input(head);case 2:Check(head);case 0:exit(1);case -1:print(head,head);default:printf("非法輸入");exit(-1);} }void Data_input(struct System_Data *head) {Flights_Count=0;FILE *Data;//定義文件指針char FileName[100] = "文件路徑,具體到文件后綴";//文件路徑Data = fopen(FileName, "r");if (!Data){printf("航班文件不存在\n");system("pause");menu(head);}else{char Top_Line[100];struct System_Data *p=head;fgets(Top_Line, 100, Data);//讀取第一行說明while (!feof(Data)){struct System_Data *t = (struct System_Data *)malloc(sizeof(struct System_Data));//讀取信息;fscanf(Data, "%s %s %s %lf %s %d %d %d",t->Flight_Number,t->Take_Off,t->Land,&t->Time_Cost,t->Model,&t->Price,&t->All_Tickets,&t->Tickets_Sold);t->Next=NULL;p->Next=t;p=t;Flights_Count++;}Flights_Count--;printf("航班信息已導(dǎo)入成功,本次共導(dǎo)入%d條航班信息\n",Flights_Count);Sleep(1000);fclose(Data);menu(head);}}void Check(struct System_Data *head) {system("cls");struct System_Data *Ans=(struct System_Data*)malloc(sizeof(struct System_Data));if(Flights_Count==0){printf("未檢測到航班數(shù)據(jù),請先導(dǎo)入航線\n");Back(head);}printf("*****************************\n");printf("* 請輸入查詢方式 *\n");printf("*****************************\n");printf("* 1.航班號 *\n");printf("* 2.起點站 *\n");printf("* 3.終點站 *\n");printf("* 4.飛行時間 *\n");printf("* 0.返回主菜單 *\n");printf("*****************************\n");int sel;scanf("%d",&sel);switch(sel){case 0:menu(head);break;case 1:Print(Check_Flight_Number(head),head);break;case 2:print(Check_Take_Off(head,Ans),head);break;case 3:print(Check_Land(head, Ans),head);break;case 4:print(Check_Time_Cost(head, Ans),head);break;case -1:print(head,head);break;default:printf("非法輸入");} }struct System_Data *Check_Flight_Number(struct System_Data *head)//按航班號查詢 {printf("請輸入航班號:\n");struct System_Data *p=head->Next;char Number[10];scanf("%s",Number);while(p){if(!strcmp(p->Flight_Number,Number)){struct System_Data *t=(struct System_Data *)malloc(sizeof(struct System_Data));Copy(p,t);t->Next=NULL;return t;}p=p->Next;}system("cls");printf("未查詢到結(jié)果\n");Back(head); }struct System_Data *Check_Take_Off(struct System_Data *head, struct System_Data *Ans)//按起點查詢 {printf("請輸入起點:\n");int flag=0;struct System_Data *p=head->Next;struct System_Data *Ap=Ans;Ap->Next=NULL;char Place[30]= {0};getchar();gets(Place);while(p){if(!strcmp(p->Take_Off,Place)){struct System_Data *t =(struct System_Data*)malloc(sizeof(struct System_Data));*t=*p;t->Next=NULL;Ap->Next= t;Ap=t;flag=1;}p=p->Next;}if(flag==0){system("cls");printf("未查詢到結(jié)果\n");Back(head);}elsereturn Ans; }struct System_Data *Check_Land(struct System_Data *head, struct System_Data *Ans)//按終點查詢 {printf("請輸入終點:\n");int flag=0;struct System_Data *p=head->Next;struct System_Data *Ap=Ans;Ap->Next=NULL;char Place[30]= {0};getchar();gets(Place);while(p){if(!strcmp(p->Land,Place)){struct System_Data *t =(struct System_Data*)malloc(sizeof(struct System_Data));*t=*p;t->Next=NULL;Ap->Next= t;Ap=t;flag=1;}p=p->Next;}if(flag==0){system("cls");printf("未查詢到結(jié)果\n");Back(head);}elsereturn Ans; }struct System_Data *Check_Time_Cost(struct System_Data *head, struct System_Data *Ans)//按飛行時間查詢 {printf("請輸入飛行時間:\n");int flag=0;struct System_Data *p=head->Next;struct System_Data *Ap=Ans;Ap->Next=NULL;double Time;scanf("%lf",&Time);while(p){if(p->Time_Cost==Time){struct System_Data *t =(struct System_Data*)malloc(sizeof(struct System_Data));*t=*p;t->Next=NULL;Ap->Next= t;Ap=t;flag=1;}p=p->Next;}if(flag==0){system("cls");printf("未查詢到結(jié)果\n");Back(head);}elsereturn Ans; }void Print(struct System_Data *p,struct System_Data *head) {system("cls");printf("您的查詢結(jié)果為:\n\n");printf("航班號\t起點\t終點\t飛行時間(小時) 機型\t價格\t總票量\t已售\n");printf("%s\t%s\t%s\t %.2lf \t%s\t%d\t %d\t %d\n",p->Flight_Number,p->Take_Off,p->Land,p->Time_Cost,p->Model,p->Price,p->All_Tickets,p->Tickets_Sold);free(p);Back(head); }void print(struct System_Data *Ans,struct System_Data *head) {struct System_Data *p=Ans->Next;struct System_Data *F=Ans;free(F);//釋放內(nèi)存system("cls");printf("您的查詢結(jié)果為:\n\n");printf("航班號\t起點\t終點\t飛行時間(小時) 機型\t價格\t總票量\t已售\n");while(p){F=p;printf("%s\t%s\t%s\t %.2lf \t%s\t%d\t %d\t %d\n",p->Flight_Number,p->Take_Off,p->Land,p->Time_Cost,p->Model,p->Price,p->All_Tickets,p->Tickets_Sold);p=p->Next;free(F);}Sleep(1000);menu(head); }void Back(struct System_Data *head) {int sel;printf("\n輸入0退出系統(tǒng)\n輸入1回到主菜單\n");scanf("%d",&sel);if(sel==0)exit(0);else if(sel==1){getchar();system("cls");menu(head);}else{printf("非法輸入");exit(-1);} }void Copy(struct System_Data *p,struct System_Data *t) {strcpy(t->Flight_Number,p->Flight_Number);strcpy(t->Take_Off,p->Take_Off);t->Time_Cost=p->Time_Cost;strcpy(t->Land,p->Land);t->Price=p->Price;strcpy(t->Model,p->Model);t->All_Tickets=p->All_Tickets;t->Tickets_Sold=t->Tickets_Sold; }

航班文件

總結(jié)

以上是生活随笔為你收集整理的C语言程序设计期末作业——航班的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。