中文字幕伊人,国产一级大片黄,www.五月丁香,一级国厂毛片,www.av有码午夜天堂,77女神黄色网,91黄色视频在线观看20分钟

當(dāng)前位置:  > 自制飛機(jī)

c++飛機(jī)訂票系統(tǒng)

作者: 發(fā)布時(shí)間: 2022-09-09 15:45:10

簡(jiǎn)介:】本篇文章給大家談?wù)劇禼++飛機(jī)訂票系統(tǒng)》對(duì)應(yīng)的知識(shí)點(diǎn),希望對(duì)各位有所幫助。本文目錄一覽:
1、怎樣查詢飛機(jī)訂票信息?


2、求c語(yǔ)言編程 通訊錄或者飛機(jī)票查詢系統(tǒng)


3、C語(yǔ)言程

本篇文章給大家談?wù)劇禼++飛機(jī)訂票系統(tǒng)》對(duì)應(yīng)的知識(shí)點(diǎn),希望對(duì)各位有所幫助。

本文目錄一覽:

怎樣查詢飛機(jī)訂票信息?

第一種方法撥打電話進(jìn)行查詢。

撥打95583進(jìn)行咨詢。

第二種方法:通過(guò)網(wǎng)站進(jìn)行查詢

1)打開(kāi)一個(gè)瀏覽器,在百度中輸入“中國(guó)航空”,單擊“百度一下”

2)單擊“中國(guó)國(guó)航官方網(wǎng)站”官網(wǎng)

3)此時(shí)打開(kāi)中國(guó)國(guó)際航空公司的網(wǎng)站

4)點(diǎn)擊上方的“預(yù)訂管理”——“機(jī)票訂單”選項(xiàng)

5)在這個(gè)界面中,輸入訂單號(hào)、手機(jī)號(hào)碼、驗(yàn)證碼,點(diǎn)擊下方的“查找訂單”按鈕即可查詢到飛機(jī)票的信息

求c語(yǔ)言編程 通訊錄或者飛機(jī)票查詢系統(tǒng)

這個(gè)是我自己做的類式的,你可以按自己的要求改下·不難的和你的差不多,給分哦

#includestdlib.h

#includestdio.h

#includestring.h

#includeconio.h

#define N 10

/*****定義結(jié)構(gòu)體*****/

typedef struct students /*標(biāo)記為students*/

{

char num[10]; /*學(xué)生學(xué)號(hào)*/

char name[10]; /*學(xué)生姓名*/

int age; /*年齡*/

char sex[10]; /*性別*/

float cyy; /*C語(yǔ)言成績(jī)*/

float computer; /*計(jì)算機(jī)成績(jī)*/

float english; /*英語(yǔ)成績(jī)*/

float pj; /*平均成績(jī)*/

}STU;

STU temp;

void sort(STU students[],int n); //排序

void save(STU students[] ,int n);//導(dǎo)出

int Locate(STU students[],int n);//查詢

/*--------------顯示菜單--------------------*/

char displaymenu()

{

char k;

system("cls");

printf(" 學(xué)生成績(jī)管理 \n");

printf("-----------------------------------應(yīng)用菜單-------------------------------------\n");

printf(" 1 輸入學(xué)生成績(jī)\n\n");

printf(" 2 輸出學(xué)生成績(jī)\n\n");

printf(" 3 查詢學(xué)生成績(jī)\n\n");

printf(" 4 修改學(xué)生成績(jī)\n\n");

printf(" 5 查看成績(jī)排序\n\n");

printf(" 6 查看成績(jī)統(tǒng)計(jì)\n\n");

printf(" 7 保存數(shù)據(jù)\n\n");

printf(" 8 讀取數(shù)據(jù)\n\n");

printf(" 9 退出系統(tǒng)\n\n");

printf(" 請(qǐng)選擇你想進(jìn)行的操作:");

k=getchar();

return k;

}

/*****定義輸出函數(shù)*****/

void printheader() /*格式化輸出表頭*/

{

printf("\n\n************************學(xué)生成績(jī)管理系統(tǒng)****************************\n\n\n");

printf("| 學(xué)號(hào) | 姓名 | 年齡 | 性別 | C語(yǔ)言成績(jī) |計(jì)算機(jī)成績(jī) | 英語(yǔ)成績(jī)| 平均成績(jī) | \n");

}

void printdata(STU pp) /*格式化輸出表中數(shù)據(jù)*/

{

STU* p;

p=pp;

printf("| %-5s| %-5s | %-4d| %-4s| %-6.0f| %-6.0f| %-5.0f| %-6.0f|\n",p-num,p-name,p-age,p-sex,p-cyy,p-computer,p-english,p-pj);

}

/*****添加學(xué)生信息*****/

int add(STU students[] ,int *n)

{

int i=0;

system("cls");

printf(" \n");

printf(" 請(qǐng)輸入學(xué)生信息 \n");

printf(" 退出請(qǐng)?jiān)趯W(xué)生號(hào)處輸入:0 \n");

printf("請(qǐng)輸入學(xué)生學(xué)號(hào):\n ");

scanf("%s",students[i].num);

while(strcmp(students[i].num,"0") )//當(dāng)輸入的學(xué)號(hào)為0時(shí)結(jié)束輸入

{

printf("請(qǐng)輸入學(xué)生姓名:\n ");

scanf("%s",students[i].name);

printf("****************\n\n\n");

printf("請(qǐng)輸入學(xué)生年齡:\n ");

scanf("%d",students[i].age);

printf("****************\n\n\n");

printf("請(qǐng)輸入學(xué)生性別:\n");

scanf("%s",students[i].sex);

printf("****************\n\n\n");

printf("請(qǐng)輸入C語(yǔ)言成績(jī):\n ");

scanf("%f",students[i].cyy);

printf("****************\n\n\n");

printf("請(qǐng)輸入計(jì)算機(jī)成績(jī):\n ");

scanf("%f",students[i].computer);

printf("****************\n\n\n");

printf("請(qǐng)輸入英語(yǔ)成績(jī):\n ");

scanf("%f",students[i].english);

printf("****************\n\n\n");

students[i].pj=(students[i].cyy+students[i].computer+students[i].english)/3;

printf("學(xué)生平均成績(jī): %-8.0f\n",students[i].pj);

i++;

printf("****************\n\n\n");

printf("請(qǐng)輸入學(xué)生學(xué)號(hào):\n ");

scanf("%s",students[i].num);

}

*n=i;

save(students ,i);

return i;

}

/*****查詢學(xué)生信息函數(shù)*****/

int Locate(STU students[],int n)

{

int k,m=-1;

char num[10],name[20];

int i=0;

system("cls");

printf(" 退出請(qǐng)輸入:0 \n");

printf("請(qǐng)選擇以什么方式查詢:1).按學(xué)生學(xué)號(hào)查詢 2).按學(xué)生姓名查詢 \n");

scanf("%d",k);

if(k==1)

{

printf("請(qǐng)輸入你要查詢的學(xué)生學(xué)號(hào):\n");

scanf("%s",num);

while(in)

{

if(strcmp(students[i].num,num)==0) /*若找到學(xué)號(hào)*/

{

printf("學(xué)生學(xué)號(hào):%s\n*學(xué)生姓名:%s\n*學(xué)生年齡:%d\n*學(xué)生性別:%s\nC語(yǔ)言成績(jī):%-8.0f\n計(jì)算機(jī)成績(jī):%-8.0f\n英語(yǔ)成績(jī):%-8.0f\n平均成績(jī):%-8.0f\n",students[i].num,students[i].name,students[i].age,students[i].sex,students[i].cyy,students[i].computer,students[i].english,students[i].pj);

m=i;

getchar();

break;

}

i++;

}

if(i=n)

printf("沒(méi)有所找學(xué)生信息\n");

getchar();

}

else if(k==2)

{

printf("請(qǐng)輸入你要查詢的學(xué)生姓名:\n");

scanf("%s",name);

while(in)

{

if(strcmp(students[i].name,name)==0) /*若找到姓名*/

{ printf("學(xué)生學(xué)號(hào):%s\n學(xué)生姓名:%s\n學(xué)生年齡:%d\n學(xué)生性別:%s\n學(xué)生C語(yǔ)言成績(jī):%-8.0f\n計(jì)算機(jī)成績(jī):%-8.0f\n英語(yǔ)成績(jī):%-8.0f\n平均成績(jī):%-8.0f\n",students[i].num,students[i].name,students[i].age,students[i].sex,students[i].cyy,students[i].computer,students[i].english,students[i].pj);

m=i;

getchar();

break;

}

i++;

}

if(i=n)

printf("沒(méi)有所找學(xué)生信息\n");

}

return m;/*返回一個(gè)根m便于修改學(xué)生信息*/

getchar();

}

/*****顯示函數(shù)*****/

void input(STU students[],int n)

{

int i;

system("cls"); //清屏

if(n==0) /*表示沒(méi)有學(xué)生信息記錄*/

{

printf("\n沒(méi)有學(xué)生記錄!\n");

}

printf("\n\n");

printheader(); /*輸出表格頭部*/

i=0;

while(in) /*逐條輸出數(shù)組中存儲(chǔ)的學(xué)生信息*/

{

printdata(students[i]);

i++;

}

getchar();

}

/*****修改子程序*****/

void Modify(STU students[],int n)

{

int i;

if(n=0)

{

system("cls");

printf(" \n退出請(qǐng)輸入:0 \n");

printf("\n----------not found!----------\n");

getchar();

return ;

}

system("cls");

printf("修改學(xué)生信息");

input(students,n);

i=Locate(students,n); /*查詢到該數(shù)組元素,并返回下標(biāo)值*/

if(i!=-1) /*若i!=-1,表明已經(jīng)找到該數(shù)組元素*/

{

printf("請(qǐng)輸入新的學(xué)生信息: \n");

printf(" 學(xué)號(hào): ");

scanf("%s",students[i].num);

printf(" 姓名: ");

scanf("%s",students[i].name);

printf(" 年齡: ");

scanf("%d",students[i].age);

printf(" 性別: ");

scanf("%s",students[i].sex);

printf(" C語(yǔ)言: ");

scanf("%f",students[i].cyy);

printf(" 英語(yǔ): ");

scanf("%f",students[i].english);

printf(" 計(jì)算機(jī): ");

scanf("%f",students[i].computer);

students[i].pj=(students[i].cyy+students[i].english+students[i].computer)/3;

printf("平均成績(jī): %-9.0f\n",students[i].pj);

save(students ,n);

printf("\n-------------修改成功!-------------\n");

}

else

printf("not found!\n");

getchar();

}

/*****學(xué)生成績(jī)排序子程序*****/

void sort(STU students[],int n)

{

int i,j,a,b,c,d,e,f,k;

float p;

printf(" \n退出請(qǐng)輸入:0 \n");

printf("成績(jī)排序方式選擇: 1.按C語(yǔ)言 2.按英語(yǔ) 3.按平均 \n ");

scanf("%d",k);

if(k==1) /*用選擇法對(duì)C語(yǔ)言排序*/

{

for(i=0; in; i++)

for(j=0;jn-1;j++)

{

if(students[i].englishstudents[j+1].english)

{

temp=students[i];

students[i]=students[j+1];

students[j+1]=temp;

}

}

}

else if(k==2)/*英語(yǔ)用冒泡法*/

{

for(a=0; an-1; a++)

{

c=a;

for(b=a+1; bn; b++)

if(students[b].cyystudents[c].cyy)

c=b;

if (c!=a)

{

temp=students[a];

students[a]=students[c];

students[c]=temp;

}

}

}

if(k==3) /*平均成績(jī)用插入法*/

{

for(d=1;dn;d++)

{

p=students[d].pj;

for(e=0;ed;e++)

if(students[e].pjp)

break;

if(e==d)

continue;

for(f=d;fe;f--)

students[f]=students[f-1];

students[e]=temp;

}

}

input(students,n); /*顯示排序后的所有記錄*/

save(students ,n);

printf("\n 排序完成!\n");

}

/*****統(tǒng)計(jì)學(xué)生分?jǐn)?shù)在各等級(jí)的人數(shù)子程序*****/

void Tongji(STU students[],int n)

{

int count6085=0,count85=0,count60=0;

int i=0;

system("cls");

printf(" \n退出請(qǐng)輸入:0 \n");

input(students,n);

i=0;

while(in)

{

if(students[i].pj85) /*平均成績(jī)=85*/

if(students[i].pj=60students[i].pj=85) /*60平均成績(jī)85*/

if(students[i].pj60) /*平均成績(jī)60*/

}

printf("\n************統(tǒng)計(jì)結(jié)果************\n\n");

printf("平均成績(jī)高于85分的人數(shù):%d \n",count85);

printf(" \n");

printf("平均成績(jī)?cè)?5分和80分之間的人數(shù):%d \n",count6085);

printf(" \n");

printf("平均成績(jī)低于60分的人數(shù):%d \n",count60);

printf(" \n");

printf("\n\n**********統(tǒng)計(jì)結(jié)束**********");

getchar();

}

/*****導(dǎo)出或保存數(shù)據(jù)*****/

void save(STU students[],int n)

{

FILE* fp;

int i=0;

fp=fopen("students","wb+");/*以讀寫方式打開(kāi)創(chuàng)建一個(gè)二進(jìn)制文件*/

if(fp==NULL) /*打開(kāi)文件失敗*/

{

printf("\n*******打開(kāi)文件錯(cuò)誤!*******\n");

return ;

}

for(i=0;in;i++)

{

if(fwrite(students[i],sizeof(STU),1,fp)==1)/*每次寫一條記錄或一個(gè)結(jié)構(gòu)數(shù)組元素至文件*/

{

continue;

}

else

{

break;

}

}

if(i0)

{

getchar();

printf("\n\n*共導(dǎo)出%d個(gè)學(xué)生信息*\n",i);

getchar();

}

else

{

system("cls");

printf("**沒(méi)有信息導(dǎo)出*\n");

getchar();

}

fclose(fp); /*關(guān)閉此文件*/

}

/*****導(dǎo)入數(shù)據(jù)*****/

void Read(STU students[],int * n)

{

FILE* fp;

int i=0;

fp=fopen("students","rb");/*以只讀方式打開(kāi)一個(gè)已有的二進(jìn)制文件*/

if(fp==NULL) /*打開(kāi)文件失敗*/

{

printf("\n********打開(kāi)文件錯(cuò)誤!********\n");

exit(0);

}

for(i=0;iN;i++)

{

if(fread(students[i],sizeof(STU),1,fp)==1)/*每次讀一條記錄或一個(gè)結(jié)構(gòu)數(shù)組元素至文件*/

continue;

else

break;

}

*n=i;

if(i0)

{

printf("\n\n************共導(dǎo)入:%d 個(gè)學(xué)生信息 ************\n",i);

getchar();

}

else

{ system("cls");

printf("************沒(méi)有信息導(dǎo)入!************\n");

getchar();

}

getchar();

fclose(fp); /*關(guān)閉此文件*/

}

/*****主函數(shù)*****/

void main()

{

STU students[N];

int n;

char s1[3],s2[3]=;

int i,k;

printf("\n\n");

printf("******************************************************\n");

printf("^ 歡迎使用本軟件 ^\n\n");

printf("^ 版本 : oooo ^\n\n\n");

printf("^ 姓名:盧景光 班級(jí): 09623 學(xué)號(hào):34 ^\n");

printf("^ ^\n");

printf("******************************************************\n");

printf("\n\n");

for(i=0;i3;i++)

{

printf("\n請(qǐng)輸入密碼:");

gets(s1);

if(strcmp(s1,s2)==0)

break;

else

printf("\n密碼錯(cuò)誤,請(qǐng)重新輸入");

}

if(i2)

{

printf("\n您已連續(xù)3次輸錯(cuò),系統(tǒng)將退出!\n");

exit(0);

}

else

{

while(1)

{

k=displaymenu();

switch(k)

{

case '1' : add(students,n); break;

case '2' : Read(students,n);input(students,n) ;break;

case '3' : Read(students,n);Locate(students,n);break;

case '4' : Read(students,n);Modify(students,n)break;

case '5' : Read(students,n);sort(students,n);break;

case '6' : Read(students,n);Tongji(students,n); break;

case '7' : save(students,n) ;break;

case '8' : Read(students,n);break;

case '9' : system("cls");

printf("\n **********謝謝您的使用**********\n");exit(0);break;

default : printf("\n\n輸入錯(cuò)誤,輸入必須是0~9之間的一個(gè)數(shù)字!請(qǐng)重新輸入\n");getchar();getchar();

}

}

}

}

C語(yǔ)言程序?qū)戯w機(jī)訂票系統(tǒng)

#include stdio.h

#include string.h

#include conio.h

#include ctype.h

#include stdlib.h

#include malloc.h

#include math.h//overflow

#define ok 1

typedef struct Yidingkehu

{//單鏈表

char name[15];//已訂票的客戶姓名

int dingpiaoshu;//已訂票數(shù)量

struct Yidingkehu *next1;//

}Yidingkehu,*Link;

typedef struct Weidingkehu

{//單鏈隊(duì)

char name[15];//預(yù)訂票的客戶姓名

int yudingpiao;// 要訂票數(shù)量

struct Weidingkehu *next2;//下一個(gè)鏈隊(duì)結(jié)點(diǎn)指針

}Weidingkehu,*Qptr;

typedef struct Hangxian

{//創(chuàng)建一個(gè)含有六個(gè)信息的結(jié)構(gòu)體

char hangbanhao[15];//航班號(hào)-

char feijihao[15];//飛機(jī)號(hào)

int feixingriqi;//起飛時(shí)間

int chenkerenshu;//座位數(shù)

int yupiao;//余票

char zhongdianzhai[15];//降落城市

struct Hangxian *next;//指向下一個(gè)鏈結(jié)點(diǎn)的指針

struct Yidingkehu *yiding;//定義一個(gè)指向已訂票客戶的頭結(jié)點(diǎn)指針

struct Weidingkehu *yudingqueue;

}Hangxian,*Linklist;

Linklist InitLinklist();//01

int InsertLinklist(Linklist head1);//02

void hbhchaxun();//通過(guò)航班號(hào)查詢

void mddchaxun();//通過(guò)目的地查詢

void lurugongneng();//初始化錄入功能

void chaxungongnen();//查詢功能

void dingpiaogongnen();//訂票功能

void tuipiaogongnen();//退票功能

void main()

{

int n;

do{ //打印主界面

printf("\t 歡迎使用航空客運(yùn)訂票系統(tǒng)\n");

printf("\t+++++++++++++++++++++++++++++\n");

printf("\t==1. 錄入功能 ==\n");

printf("\t==2. 查詢功能 ==\n");

printf("\t==3. 訂票功能 ==\n");

printf("\t==4. 退票功能 ==\n");

printf("\t==5. 退出 ==\n");

printf("\t+++++++++++++++++++++++++++++\n");

printf("\t請(qǐng)選擇:");

scanf("%d",n);printf("\n");

switch(n)

{

case 1: lurugongneng();//錄入功能

break;

case 2: chaxungongnen();//查詢功能

break;

case 3: dingpiaogongnen();//訂票功能

break;

case 4:tuipiaogongnen();//退票功能

break;

default :exit(0);//退出

}

}while(n==1||n==2||n==3||n==4);

}

void lurugongneng()//初始化的單鏈表*********************************************************錄入功能

{

Linklist p;

//int m,n;

if(!p) exit(OVERFLOW);

printf("\t請(qǐng)依次輸入下面幾項(xiàng)內(nèi)容:\n\n");//這里的輸入采用一個(gè)個(gè)單獨(dú)輸入,避免了亂賦值的現(xiàn)象

printf("航班號(hào)\n");

gets(p-hangbanhao);//這里的二個(gè)gets主要是因?yàn)樵诨剀囨I的輸入,其中的第一個(gè)是來(lái)接收上次的回車

gets(p-hangbanhao);

printf("飛機(jī)號(hào)\n");

gets(p-feijihao);

printf("終點(diǎn)站\n");

gets(p-zhongdianzhai);

printf("飛行日期\n");

scanf("%d",p-feixingriqi);

printf("乘客總數(shù)\n");

scanf("%d",p-chenkerenshu);

printf("余票數(shù)\n");

scanf("%d",p-yupiao);

}

void chaxungongnen()//******************************************************************查詢功能

{

int n;

printf("\t 查 找 航 線 信 息 \n");

printf("\t+++++++++++++++++++++++++++++\n");

printf("\t==1. 通過(guò)目的地查詢 ==\n");

printf("\t==2. 通過(guò)航班號(hào)查詢 ==\n");

printf("\t+++++++++++++++++++++++++++++\n");

printf("\t請(qǐng)選擇:");

scanf("%d",n);

printf("\n");//格式化

switch(n)

{

case 1:mddchaxun();

break;

case 2:hbhchaxun();

break;

default :break;

}

}

void mddchaxun()//通過(guò)目的地查詢

{

char c[15];

int m;

Linklist p=L;

printf("\t請(qǐng)輸入要查詢的目的地:");

gets(c);

gets(c);//原因同上

do{

p=p-next;

if(p)

{

m=strcmpi((*p).zhongdianzhai,c);//如果==的話則m=0;

if(m==0)

{

printf("\t航班信息:\n");

printf("\t航班號(hào):%s\n",p-hangbanhao);

printf("\t飛機(jī)號(hào):%s\n",p-feijihao);

printf("\t飛行時(shí)間:周%d\n",p-feixingriqi);

printf("\t余票量:%d\n",p-yupiao);

}

}

else

{//如果不匹配的話就做

printf("\t對(duì)不起沒(méi)有你要找的目的地:\n\n"); m=0;

}

}while(m!=0);

}

void hbhchaxun()//通過(guò)目的地查詢

{

char c[15];

int m;

Linklist p=L;

printf("\t請(qǐng)輸入要查詢的航班號(hào):");

gets(c); gets(c);printf("\n");

do{

p=p-next;

if(p)

{

m=strcmpi((*p).hangbanhao,c);//如果==的話則m=0;這里的(*p).與p-的作用是一樣的

if(m==0)

{

printf("\t航班信息:\n");

printf("\t航班號(hào):%s\n",p-hangbanhao);

printf("\t飛機(jī)號(hào):%s\n",p-feijihao);

printf("\t飛行時(shí)間:周%d\n",p-feixingriqi);

printf("\t余票量:%d\n\n",p-yupiao);

}

}

else

{//如果不匹配的話就做

printf("\t對(duì)不起沒(méi)有你要找的航班號(hào):\n"); m=0;

}

}while(m!=0);

}

void dingpiaogongnen()//***************************************************************訂票功能

{

char c[15];

int m=1,piao,ydpiao=0,yd=0,n;//

gets(c);

printf("請(qǐng)輸入終點(diǎn)站名:"); gets(c); printf("\n");

p=L-next;

if(p) {

do{//查找一下,是否有這個(gè)航班

if(!p)

{

printf("對(duì)不起,沒(méi)有你要找的航班:\n\n");

goto loop1;

}

m=strcmpi(p-zhongdianzhai,c);

if(m==0)

{

printf("航班信息:\n");

printf("航班號(hào):%s\n",p-hangbanhao);

printf("飛機(jī)號(hào):%s\n",p-feijihao);

printf("飛行時(shí)間:周%d\n",p-feixingriqi);

printf("余票量:%d\n",p-yupiao);}

else p=p-next;

}while(m!=0);

if(m==0)

{

do{

printf("\n請(qǐng)輸入你要訂的票數(shù):"); scanf("%d",piao);

if(piao=p-yupiao)

{

h=p-yiding;

if(h)

{

h1=h;

h=h-next1;

h=(struct Yidingkehu*)malloc(sizeof(Yidingkehu));

printf("請(qǐng)輸入你的名字:");

gets(h-name);gets(h-name);

h-dingpiaoshu=piao;

h-next1=h1-next1;

h1-next1=h;

p-yupiao=p-yupiao-piao;

printf("訂票成功:\n"); m=2;

}

}

else

{

printf("余票量:%d\n",p-yupiao);

printf("對(duì)不起,余票 %d 張不足,不能完成訂票\n\n",p-yupiao);

printf(" 是否要重新訂票?\n");

printf("需要請(qǐng)輸入1 否則請(qǐng)按2 預(yù)訂請(qǐng)輸入3 : ");

scanf("%d",m);

printf("\n");

if(m==3) goto loop3;

}

}while(m==1);

}

}

else if(!p)

{

loop3: struct Weidingkehu *q3;

printf("對(duì)不起,該航班的票已售完\n");

q.front=p-yudingqueue;

if(q.front==q.rear) printf("沒(méi)有人預(yù)訂票,是否要預(yù)訂?\n");

else if(q.front!=q.rear) printf("已有人預(yù)訂票,是否要預(yù)訂?\n");

printf("預(yù)訂請(qǐng)輸入1 否則輸入2 : ");

scanf("%d",n);

printf("\n");

if(n==1)

{

printf("請(qǐng)輸入你的姓名"); gets(q3-name); gets(q3-name);//q3不能指向name???

printf("請(qǐng)輸入訂票數(shù)"); scanf("%d",q3-yudingpiao);

q3-next2=NULL;

q.rear-next2=q3;

q.rear=q3;

printf(" 你已經(jīng)預(yù)訂了 !\n");

}

}

loop1:;

}

void tuipiaogongnen()//***************************************************************退票功能

{

}

請(qǐng)采納答案,支持我一下。

c語(yǔ)言如何編寫飛機(jī)訂票系統(tǒng)?

#includestdio.h

#includestring.h

#includeconio.h

#includectype.h

#includestdlib.h

#includemalloc.h

#includemath.h//overflow

#defineok1

typedefstructYidingkehu

{//單鏈表

charname[15];//已訂票的客戶姓名

intdingpiaoshu;//已訂票數(shù)量

structYidingkehu*next1;//

}Yidingkehu,*Link;

typedefstructWeidingkehu

{//單鏈隊(duì)

charname[15];//預(yù)訂票的客戶姓名

intyudingpiao;//要訂票數(shù)量

structWeidingkehu*next2;//下一個(gè)鏈隊(duì)結(jié)點(diǎn)指針

}Weidingkehu,*Qptr;

typedefstructHangxian

{//創(chuàng)建一個(gè)含有六個(gè)信息的結(jié)構(gòu)體

charhangbanhao[15];//航班號(hào)-

charfeijihao[15];//飛機(jī)號(hào)

intfeixingriqi;//起飛時(shí)間

intchenkerenshu;//座位數(shù)

intyupiao;//余票

charzhongdianzhai[15];//降落城市

structHangxian*next;//指向下一個(gè)鏈結(jié)點(diǎn)的指針

structYidingkehu*yiding;//定義一個(gè)指向已訂票客戶的頭結(jié)點(diǎn)指針

structWeidingkehu*yudingqueue;

}Hangxian,*Linklist;

LinklistInitLinklist();//01

intInsertLinklist(Linklisthead1);//02

voidhbhchaxun();//通過(guò)航班號(hào)查詢

voidmddchaxun();//通過(guò)目的地查詢

voidlurugongneng();//初始化錄入功能

voidchaxungongnen();//查詢功能

voiddingpiaogongnen();//訂票功能

voidtuipiaogongnen();//退票功能

voidmain()

{

intn;

do{//打印主界面

printf("\t歡迎使用航空客運(yùn)訂票系統(tǒng)\n");

printf("\t+++++++++++++++++++++++++++++\n");

printf("\t==1.錄入功能==\n");

printf("\t==2.查詢功能==\n");

printf("\t==3.訂票功能==\n");

printf("\t==4.退票功能==\n");

printf("\t==5.退出==\n");

printf("\t+++++++++++++++++++++++++++++\n");

printf("\t請(qǐng)選擇:");

scanf("%d",n);printf("\n");

switch(n)

{

case1:lurugongneng();//錄入功能

break;

case2:chaxungongnen();//查詢功能

break;

case3:dingpiaogongnen();//訂票功能

break;

case4:tuipiaogongnen();//退票功能

break;

default:exit(0);//退出

}

}while(n==1||n==2||n==3||n==4);

}

voidlurugongneng()//初始化的單鏈表*********************************************************錄入功能

{

Linklistp;

//intm,n;

if(!p)exit(OVERFLOW);

printf("\t請(qǐng)依次輸入下面幾項(xiàng)內(nèi)容:\n\n");//這里的輸入采用一個(gè)個(gè)單獨(dú)輸入,避免了亂賦值的現(xiàn)象

printf("航班號(hào)\n");

gets(p-hangbanhao);//這里的二個(gè)gets主要是因?yàn)樵诨剀囨I的輸入,其中的第一個(gè)是來(lái)接收上次的回車

gets(p-hangbanhao);

printf("飛機(jī)號(hào)\n");

gets(p-feijihao);

printf("終點(diǎn)站\n");

gets(p-zhongdianzhai);

printf("飛行日期\n");

scanf("%d",p-feixingriqi);

printf("乘客總數(shù)\n");

scanf("%d",p-chenkerenshu);

printf("余票數(shù)\n");

scanf("%d",p-yupiao);

}

voidchaxungongnen()//******************************************************************查詢功能

{

intn;

printf("\t查找航線信息\n");

printf("\t+++++++++++++++++++++++++++++\n");

printf("\t==1.通過(guò)目的地查詢==\n");

printf("\t==2.通過(guò)航班號(hào)查詢==\n");

printf("\t+++++++++++++++++++++++++++++\n");

printf("\t請(qǐng)選擇:");

scanf("%d",n);

printf("\n");//格式化

switch(n)

{

case1:mddchaxun();

break;

case2:hbhchaxun();

break;

default:break;

}

}

voidmddchaxun()//通過(guò)目的地查詢

{

charc[15];

intm;

Linklistp=L;

printf("\t請(qǐng)輸入要查詢的目的地:");

gets(c);

gets(c);//原因同上

do{

p=p-next;

if(p)

{

m=strcmpi((*p).zhongdianzhai,c);//如果==的話則m=0;

if(m==0)

{

printf("\t航班信息:\n");

printf("\t航班號(hào):%s\n",p-hangbanhao);

printf("\t飛機(jī)號(hào):%s\n",p-feijihao);

printf("\t飛行時(shí)間:周%d\n",p-feixingriqi);

printf("\t余票量:%d\n",p-yupiao);

}

}

else

{//如果不匹配的話就做

printf("\t對(duì)不起沒(méi)有你要找的目的地:\n\n");m=0;

}

}while(m!=0);

}

voidhbhchaxun()//通過(guò)目的地查詢

{

charc[15];

intm;

Linklistp=L;

printf("\t請(qǐng)輸入要查詢的航班號(hào):");

gets(c);gets(c);printf("\n");

do{

p=p-next;

if(p)

{

m=strcmpi((*p).hangbanhao,c);//如果==的話則m=0;這里的(*p).與p-的作用是一樣的

if(m==0)

{

printf("\t航班信息:\n");

printf("\t航班號(hào):%s\n",p-hangbanhao);

printf("\t飛機(jī)號(hào):%s\n",p-feijihao);

printf("\t飛行時(shí)間:周%d\n",p-feixingriqi);

printf("\t余票量:%d\n\n",p-yupiao);

}

}

else

{//如果不匹配的話就做

printf("\t對(duì)不起沒(méi)有你要找的航班號(hào):\n");m=0;

}

}while(m!=0);

}

voiddingpiaogongnen()//***************************************************************訂票功能

{

charc[15];

intm=1,piao,ydpiao=0,yd=0,n;//

gets(c);

printf("請(qǐng)輸入終點(diǎn)站名:");gets(c);printf("\n");

p=L-next;

if(p){

do{//查找一下,是否有這個(gè)航班

if(!p)

{

printf("對(duì)不起,沒(méi)有你要找的航班:\n\n");

gotoloop1;

}

m=strcmpi(p-zhongdianzhai,c);

if(m==0)

{

printf("航班信息:\n");

printf("航班號(hào):%s\n",p-hangbanhao);

printf("飛機(jī)號(hào):%s\n",p-feijihao);

printf("飛行時(shí)間:周%d\n",p-feixingriqi);

printf("余票量:%d\n",p-yupiao);}

elsep=p-next;

}while(m!=0);

if(m==0)

{

do{

printf("\n請(qǐng)輸入你要訂的票數(shù):");scanf("%d",piao);

if(piao=p-yupiao)

{

h=p-yiding;

if(h)

{

h1=h;

h=h-next1;

h=(structYidingkehu*)malloc(sizeof(Yidingkehu));

printf("請(qǐng)輸入你的名字:");

gets(h-name);gets(h-name);

h-dingpiaoshu=piao;

h-next1=h1-next1;

h1-next1=h;

p-yupiao=p-yupiao-piao;

printf("訂票成功:\n");m=2;

}

}

else

{

printf("余票量:%d\n",p-yupiao);

printf("對(duì)不起,余票%d張不足,不能完成訂票\n\n",p-yupiao);

printf("是否要重新訂票?\n");

printf("需要請(qǐng)輸入1否則請(qǐng)按2預(yù)訂請(qǐng)輸入3:");

scanf("%d",m);

printf("\n");

if(m==3)gotoloop3;

}

}while(m==1);

}

}

elseif(!p)

{

loop3:structWeidingkehu*q3;

printf("對(duì)不起,該航班的票已售完\n");

q.front=p-yudingqueue;

if(q.front==q.rear)printf("沒(méi)有人預(yù)訂票,是否要預(yù)訂?\n");

elseif(q.front!=q.rear)printf("已有人預(yù)訂票,是否要預(yù)訂?\n");

printf("預(yù)訂請(qǐng)輸入1否則輸入2:");

scanf("%d",n);

printf("\n");

if(n==1)

{

printf("請(qǐng)輸入你的姓名");gets(q3-name);gets(q3-name);//q3不能指向name???

printf("請(qǐng)輸入訂票數(shù)");scanf("%d",q3-yudingpiao);

q3-next2=NULL;

q.rear-next2=q3;

q.rear=q3;

printf("你已經(jīng)預(yù)訂了!\n");

}

}

loop1:;

}

voidtuipiaogongnen()//***************************************************************退票功能

{

}

///////////以下是人家的要求//////////

1、本系統(tǒng)采用一個(gè)包含N個(gè)數(shù)據(jù)的結(jié)構(gòu)體數(shù)組,每個(gè)數(shù)據(jù)的結(jié)構(gòu)應(yīng)當(dāng)包括:起飛地、目的地航班號(hào)、座次號(hào)碼、座次訂出與否標(biāo)記、訂座者的姓名和訂座者的身份證號(hào)碼。

2、本系統(tǒng)顯示這樣的菜單:

(1)輸入航班信息

(2)輸出航班信息

(3)查找航班信息

a.顯示空座的數(shù)量

b.顯示空座的信息

c.顯示已訂座的信息

d.起飛時(shí)間

(4)訂票預(yù)約

(5)刪除定票預(yù)約

(6)退出系統(tǒng)

1、本系統(tǒng)成功執(zhí)行菜單的每個(gè)信息,選項(xiàng)4)和5)將要求額外的輸入,并且它們都允許用戶收回其輸入。

2、查找航班信息既可按線路查,也可按目的地查。

4、在兩次運(yùn)行之間,數(shù)據(jù)被保存于一個(gè)文件里,當(dāng)本程序重新開(kāi)

始的時(shí)候,它首先從該文件讀入數(shù)據(jù)

c語(yǔ)言編程:飛機(jī)訂票系統(tǒng),c++運(yùn)行

#include stdio.h

#include string.h

#include conio.h

#include ctype.h

#include stdlib.h

#include malloc.h

#include math.h//overflow

#define ok 1

typedef struct Yidingkehu

{//單鏈表

char name[15];//已訂票的客戶姓名

int dingpiaoshu;//已訂票數(shù)量

struct Yidingkehu *next1;//

}Yidingkehu,*Link;

typedef struct Weidingkehu

{//單鏈隊(duì)

char name[15];//預(yù)訂票的客戶姓名

int yudingpiao;// 要訂票數(shù)量

struct Weidingkehu *next2;//下一個(gè)鏈隊(duì)結(jié)點(diǎn)指針

}Weidingkehu,*Qptr;

typedef struct Hangxian

{//創(chuàng)建一個(gè)含有六個(gè)信息的結(jié)構(gòu)體

char hangbanhao[15];//航班號(hào)-

char feijihao[15];//飛機(jī)號(hào)

int feixingriqi;//起飛時(shí)間

int chenkerenshu;//座位數(shù)

int yupiao;//余票

char zhongdianzhai[15];//降落城市

struct Hangxian *next;//指向下一個(gè)鏈結(jié)點(diǎn)的指針

struct Yidingkehu *yiding;//定義一個(gè)指向已訂票客戶的頭結(jié)點(diǎn)指針

struct Weidingkehu *yudingqueue;

}Hangxian,*Linklist;

Linklist InitLinklist();//01

int InsertLinklist(Linklist head1);//02

void hbhchaxun();//通過(guò)航班號(hào)查詢

void mddchaxun();//通過(guò)目的地查詢

void lurugongneng();//初始化錄入功能

void chaxungongnen();//查詢功能

void dingpiaogongnen();//訂票功能

void tuipiaogongnen();//退票功能

void main()

{

int n;

do{ //打印主界面

printf("\t 歡迎使用航空客運(yùn)訂票系統(tǒng)\n");

printf("\t+++++++++++++++++++++++++++++\n");

printf("\t==1. 錄入功能 ==\n");

printf("\t==2. 查詢功能 ==\n");

printf("\t==3. 訂票功能 ==\n");

printf("\t==4. 退票功能 ==\n");

printf("\t==5. 退出 ==\n");

printf("\t+++++++++++++++++++++++++++++\n");

printf("\t請(qǐng)選擇:");

scanf("%d",n);printf("\n");

switch(n)

{

case 1: lurugongneng();//錄入功能

break;

case 2: chaxungongnen();//查詢功能

break;

case 3: dingpiaogongnen();//訂票功能

break;

case 4:tuipiaogongnen();//退票功能

break;

default :exit(0);//退出

}

}while(n==1||n==2||n==3||n==4);

}

void lurugongneng()//初始化的單鏈表*********************************************************錄入功能

{

Linklist p;

//int m,n;

if(!p) exit(OVERFLOW);

printf("\t請(qǐng)依次輸入下面幾項(xiàng)內(nèi)容:\n\n");//這里的輸入采用一個(gè)個(gè)單獨(dú)輸入,避免了亂賦值的現(xiàn)象

printf("航班號(hào)\n");

gets(p-hangbanhao);//這里的二個(gè)gets主要是因?yàn)樵诨剀囨I的輸入,其中的第一個(gè)是來(lái)接收上次的回車

gets(p-hangbanhao);

printf("飛機(jī)號(hào)\n");

gets(p-feijihao);

printf("終點(diǎn)站\n");

gets(p-zhongdianzhai);

printf("飛行日期\n");

scanf("%d",p-feixingriqi);

printf("乘客總數(shù)\n");

scanf("%d",p-chenkerenshu);

printf("余票數(shù)\n");

scanf("%d",p-yupiao);

}

void chaxungongnen()//******************************************************************查詢功能

{

int n;

printf("\t 查 找 航 線 信 息 \n");

printf("\t+++++++++++++++++++++++++++++\n");

printf("\t==1. 通過(guò)目的地查詢 ==\n");

printf("\t==2. 通過(guò)航班號(hào)查詢 ==\n");

printf("\t+++++++++++++++++++++++++++++\n");

printf("\t請(qǐng)選擇:");

scanf("%d",n);

printf("\n");//格式化

switch(n)

{

case 1:mddchaxun();

break;

case 2:hbhchaxun();

break;

default :break;

}

}

void mddchaxun()//通過(guò)目的地查詢

{

char c[15];

int m;

Linklist p=L;

printf("\t請(qǐng)輸入要查詢的目的地:");

gets(c);

gets(c);//原因同上

do{

p=p-next;

if(p)

{

m=strcmpi((*p).zhongdianzhai,c);//如果==的話則m=0;

if(m==0)

{

printf("\t航班信息:\n");

printf("\t航班號(hào):%s\n",p-hangbanhao);

printf("\t飛機(jī)號(hào):%s\n",p-feijihao);

printf("\t飛行時(shí)間:周%d\n",p-feixingriqi);

printf("\t余票量:%d\n",p-yupiao);

}

}

else

{//如果不匹配的話就做

printf("\t對(duì)不起沒(méi)有你要找的目的地:\n\n"); m=0;

}

}while(m!=0);

}

void hbhchaxun()//通過(guò)目的地查詢

{

char c[15];

int m;

Linklist p=L;

printf("\t請(qǐng)輸入要查詢的航班號(hào):");

gets(c); gets(c);printf("\n");

do{

p=p-next;

if(p)

{

m=strcmpi((*p).hangbanhao,c);//如果==的話則m=0;這里的(*p).與p-的作用是一樣的

if(m==0)

{

printf("\t航班信息:\n");

printf("\t航班號(hào):%s\n",p-hangbanhao);

printf("\t飛機(jī)號(hào):%s\n",p-feijihao);

printf("\t飛行時(shí)間:周%d\n",p-feixingriqi);

printf("\t余票量:%d\n\n",p-yupiao);

}

}

else

{//如果不匹配的話就做

printf("\t對(duì)不起沒(méi)有你要找的航班號(hào):\n"); m=0;

}

}while(m!=0);

}

void dingpiaogongnen()//***************************************************************訂票功能

{

char c[15];

int m=1,piao,ydpiao=0,yd=0,n;//

gets(c);

printf("請(qǐng)輸入終點(diǎn)站名:"); gets(c); printf("\n");

p=L-next;

if(p) {

do{//查找一下,是否有這個(gè)航班

if(!p)

{

printf("對(duì)不起,沒(méi)有你要找的航班:\n\n");

goto loop1;

}

m=strcmpi(p-zhongdianzhai,c);

if(m==0)

{

printf("航班信息:\n");

printf("航班號(hào):%s\n",p-hangbanhao);

printf("飛機(jī)號(hào):%s\n",p-feijihao);

printf("飛行時(shí)間:周%d\n",p-feixingriqi);

printf("余票量:%d\n",p-yupiao);}

else p=p-next;

}while(m!=0);

if(m==0)

{

do{

printf("\n請(qǐng)輸入你要訂的票數(shù):"); scanf("%d",piao);

if(piao=p-yupiao)

{

h=p-yiding;

if(h)

{

h1=h;

h=h-next1;

h=(struct Yidingkehu*)malloc(sizeof(Yidingkehu));

printf("請(qǐng)輸入你的名字:");

gets(h-name);gets(h-name);

h-dingpiaoshu=piao;

h-next1=h1-next1;

h1-next1=h;

p-yupiao=p-yupiao-piao;

printf("訂票成功:\n"); m=2;

}

}

else

{

printf("余票量:%d\n",p-yupiao);

printf("對(duì)不起,余票 %d 張不足,不能完成訂票\n\n",p-yupiao);

printf(" 是否要重新訂票?\n");

printf("需要請(qǐng)輸入1 否則請(qǐng)按2 預(yù)訂請(qǐng)輸入3 : ");

scanf("%d",m);

printf("\n");

if(m==3) goto loop3;

}

}while(m==1);

}

}

else if(!p)

{

loop3: struct Weidingkehu *q3;

printf("對(duì)不起,該航班的票已售完\n");

q.front=p-yudingqueue;

if(q.front==q.rear) printf("沒(méi)有人預(yù)訂票,是否要預(yù)訂?\n");

else if(q.front!=q.rear) printf("已有人預(yù)訂票,是否要預(yù)訂?\n");

printf("預(yù)訂請(qǐng)輸入1 否則輸入2 : ");

scanf("%d",n);

printf("\n");

if(n==1)

{

printf("請(qǐng)輸入你的姓名"); gets(q3-name); gets(q3-name);//q3不能指向name???

printf("請(qǐng)輸入訂票數(shù)"); scanf("%d",q3-yudingpiao);

q3-next2=NULL;

q.rear-next2=q3;

q.rear=q3;

printf(" 你已經(jīng)預(yù)訂了 !\n");

}

}

loop1:;

}

void tuipiaogongnen()//***************************************************************退票功能

{

}

///////////以下是人家的要求//////////

1、本系統(tǒng)采用一個(gè)包含N個(gè)數(shù)據(jù)的結(jié)構(gòu)體數(shù)組,每個(gè)數(shù)據(jù)的結(jié)構(gòu)應(yīng)當(dāng)包括:起飛地、目的地 航班號(hào)、座次號(hào)碼、座次訂出與否標(biāo)記、訂座者的姓名和訂座者的身份證號(hào)碼。

2、本系統(tǒng)顯示這樣的菜單:

(1) 輸入航班信息

(2) 輸出航班信息

(3) 查找航班信息

a.顯示空座的數(shù)量

b.顯示空座的信息

c.顯示已訂座的信息

d.起飛時(shí)間

(4)訂票預(yù)約

(5)刪除定票預(yù)約

(6)退出系統(tǒng)

1、 本系統(tǒng)成功執(zhí)行菜單的每個(gè)信息,選項(xiàng)4)和5)將要求額外的輸入,并且它們都允許用戶收回其輸入。

2、 查找航班信息既可按線路查,也可按目的地查。

4、在兩次運(yùn)行之間,數(shù)據(jù)被保存于一個(gè)文件里,當(dāng)本程序重新開(kāi)

始的時(shí)候,它首先從該文件讀入數(shù)據(jù)

關(guān)于《c++飛機(jī)訂票系統(tǒng)》的介紹到此就結(jié)束了。

尚華空乘 - 航空資訊_民航新聞_最新航空動(dòng)態(tài)資訊
備案號(hào):滇ICP備2021006107號(hào)-341 版權(quán)所有:蓁成科技(云南)有限公司    網(wǎng)站地圖
本網(wǎng)站文章僅供交流學(xué)習(xí),不作為商用,版權(quán)歸屬原作者,部分文章推送時(shí)未能及時(shí)與原作者取得聯(lián)系,若來(lái)源標(biāo)注錯(cuò)誤或侵犯到您的權(quán)益煩請(qǐng)告知,我們將立即刪除。