【簡(jiǎn)介:】本篇文章給大家談?wù)劇逗娇展芾硇畔⑾到y(tǒng)是什么》對(duì)應(yīng)的知識(shí)點(diǎn),希望對(duì)各位有所幫助。本文目錄一覽:
1、航空信息管理系統(tǒng) 設(shè)計(jì)內(nèi)容和要求(包括原始數(shù)據(jù)、技術(shù)參數(shù)、條件、設(shè)計(jì)要
本篇文章給大家談?wù)劇逗娇展芾硇畔⑾到y(tǒng)是什么》對(duì)應(yīng)的知識(shí)點(diǎn),希望對(duì)各位有所幫助。
本文目錄一覽:
- 1、航空信息管理系統(tǒng) 設(shè)計(jì)內(nèi)容和要求(包括原始數(shù)據(jù)、技術(shù)參數(shù)、條件、設(shè)計(jì)要求等
- 2、民用航空安全信息管理規(guī)定
- 3、飛行安全管理信息系統(tǒng) 包括哪些功能
- 4、C語(yǔ)言編寫(xiě)一個(gè)簡(jiǎn)單的航空管理系統(tǒng)
- 5、JAVA實(shí)訓(xùn)航空管理信息系統(tǒng)怎么實(shí)現(xiàn)用戶(hù)密碼修改和添加用戶(hù)
航空信息管理系統(tǒng) 設(shè)計(jì)內(nèi)容和要求(包括原始數(shù)據(jù)、技術(shù)參數(shù)、條件、設(shè)計(jì)要求等
/*數(shù)據(jù)結(jié)構(gòu)程序設(shè)計(jì) 航空信息管理系統(tǒng)*/
/*班級(jí) 通工06XX */
/*姓名 XX*/
/*班內(nèi)序號(hào) XX*/
#include "stdio.h"
#include "string.h"
#include "stdlib.h"
#include "malloc.h"
int k;
/*清屏函數(shù)*/
void clearscreen()
{
getchar();
system("cls");
}
typedef struct node1
{
long light; /*航班號(hào)*/
char destination[20]; /*目的地*/
char time[10]; /*起飛時(shí)間*/
long num; /*飛機(jī)號(hào)*/
int ticket; /*票量*/
struct node1 *next; /*航班信息鏈*/
}NODE1;
NODE1 *creat() /*錄入航班信息*/
{
int i,k;
NODE1 *p1,*p2,*head;
printf("請(qǐng)輸入總航班數(shù)目:\n");
scanf("%d",k);
head=NULL;
if(k0)
{
head=p1=p2=(NODE1 *)malloc(sizeof(NODE1));
printf("請(qǐng)輸入航班號(hào)--目的地--起飛時(shí)間--飛機(jī)號(hào)--票量\n");
scanf("%ld %s %s %ld %d",p1-light,p1-destination,p1-time,p1-num,p1-ticket);
head=p1=p2;
for(i=1;ik;i++)
{
p1=(NODE1 *)malloc(sizeof(NODE1));
printf("請(qǐng)輸入航班號(hào)--目的地--起飛時(shí)間--飛機(jī)號(hào)--票量\n");
scanf("%ld %s %s %ld %d",p1-light,p1-destination,p1-time,p1-num,p1-ticket);
p2-next=p1;
p2=p1;
p2-next=NULL;
}
}
return head;
}
void print(NODE1 *p)/*顯示所有航班信息*/
{ FILE *fp;
NODE1 *q;
q=p;
while(p!=NULL)
{
printf("%7ld %7s %7s %7ld %7d\n",p-light,p-destination,p-time,p-num,p-ticket);
p=p-next;
}
/*文件開(kāi)始*/
if((fp=fopen("c:\\hfm_mima.txt","wt"))==NULL)
{
printf("不能打開(kāi)此文件,按任意鍵退出");
getch();
exit (1);
}
while(q!=NULL)
{
fprintf(fp,"%7ld %7s %7s %7ld %7d\n",q-light,q-destination,q-time,q-num,q-ticket);
q=q-next;
}
fclose(fp);
}
NODE1 * find(NODE1 *p)/*按航班號(hào) 查找單個(gè)航班信息*/
{
long light;
printf("請(qǐng)輸入要查找的航班號(hào):");
scanf("%ld",light);
while(p!=NULL)
{
if(p-light==light)
return p;
p=p-next;
}
return NULL;
}
int delete(NODE1 **h)/*刪除某個(gè)航班信息*/
{
long light;
NODE1 *p,*p0;
if(*h==NULL) return 0;
printf("請(qǐng)輸入要?jiǎng)h除的航班號(hào)");
scanf("%ld",light);
p0=*h;
if(p0-light==light)
{
*h=p0-next;
free(p0);
return 1;
}
p=p0-next;
while(p!=NULL)
{
if(p-light==light)
{
p0-next=p-next;
free(p);
return 1;
}
p0=p;
p=p-next;
}
return 0;
}
int insert(NODE1 **h)
{
NODE1 *p,*p0;
p=(NODE1 *)malloc(sizeof(NODE1));
printf("請(qǐng)輸入航班號(hào)--目的地--起飛時(shí)間--飛機(jī)號(hào)--票量\n");
scanf("%ld %s %s %ld %d",p-light,p-destination,p-time,p-num,p-ticket);
p-next=NULL;
if(*h==NULL)
{
*h=p;
return 1;
}
p0=*h;
if(p0-lightp-light)
{
p-next=*h;
*h=p;
return 1;
}
while(p0-next!=NULLp0-next-lightp-light)
p0=p0-next;
if(p0-next==NULL)
{
p0-next=p;
return 1;
}
else if(p0-next-light==p-light)
{
free(p);
return 0;
}
p-next=p0-next;
p0-next=p;
return 1;
}
main()
{
int choice;
NODE1 *head,*p;
do
{
printf("按回車(chē)鍵進(jìn)入主菜單!");
clearscreen();
printf(" :---------------------------------------------:\n");
printf(" ! 航空客運(yùn)信息系統(tǒng) !\n");
printf(" !=============================================!\n");
printf(" ! 1. 航線(xiàn)信息錄入 !\n");
printf(" ! 2. 所有航班信息顯示 !\n");
printf(" ! 3. 單個(gè)航班信息查找 !\n");
printf(" ! 4. 新信息插入 !\n");
printf(" ! 5. 舊航班信息刪除 !\n");
printf(" ! 0. 結(jié)束程序 !\n");
printf(" :---------------------------------------------:\n");
printf("\n");
printf("請(qǐng)輸入您選擇的功能號(hào)1-5:");
scanf("%d",choice);
getchar();
if(choice0)
switch(choice)
{
case 1:head=creat();break;
case 2:print(head);break;
case 3:p=find(head);
if(p)
{
printf("航班號(hào)%ld--目的地%s--起飛時(shí)間%s--飛機(jī)號(hào)%ld--票量%7d\n",p-light,p-destination,p-time,p-num,p-ticket);
getchar();
}
else printf("沒(méi)有找到\n");
break;
case 4:if(insert(head))
{
printf("已經(jīng)成功插入\n");
getchar();
}
else printf("有重復(fù)航班號(hào),插入失敗\n");
break;
case 5:if(delete(head))
{
printf("已正確刪除\n");
getchar();
}
else printf("要?jiǎng)h除的航班信息不存在\n");
break;
case 0:break;
}
}while(choice!=0);
}
民用航空安全信息管理規(guī)定
第一章 總則第一條 為加強(qiáng)和規(guī)范民用航空安全信息管理,及時(shí)掌握民用航空安全信息,有效預(yù)防各類(lèi)民用航空事故,控制和消除航空安全隱患,根據(jù)《中華人民共和國(guó)民用航空法》、《中華人民共和國(guó)安全生產(chǎn)法》和國(guó)家有關(guān)規(guī)定,制定本規(guī)定。第二條 本規(guī)定適用于民用航空器飛行事故(以下簡(jiǎn)稱(chēng)飛行事故)、民用航空地面事故(以下簡(jiǎn)稱(chēng)航空地面事故)、民用航空器飛行事故征候(以下簡(jiǎn)稱(chēng)飛行事故征候)和其他不安全事件的信息管理。航空安全舉報(bào)事件(以下簡(jiǎn)稱(chēng)舉報(bào)事件)信息的管理適用本規(guī)定。第三條 本規(guī)定所稱(chēng)民用航空安全信息是指與飛行事故、航空地面事故、飛行事故征候和其他不安全事件有關(guān)的信息。
飛行事故的定義和等級(jí)分類(lèi),按《民用航空器飛行事故等級(jí)》國(guó)家標(biāo)準(zhǔn)GB14648-93執(zhí)行。
航空地面事故的定義和標(biāo)準(zhǔn),按《民用航空地面事故等級(jí)》國(guó)家標(biāo)準(zhǔn)GB18432-2001執(zhí)行。
飛行事故征候的定義、分類(lèi)和標(biāo)準(zhǔn),按《民用航空器飛行事故征候》民用航空行業(yè)標(biāo)準(zhǔn)MH2001-2004執(zhí)行。
其他不安全事件是指航空器運(yùn)行中發(fā)生航空器損壞、設(shè)施設(shè)備損壞、人員受傷或者是其他影響飛行安全的情況,但其程度未構(gòu)成飛行事故征候或航空地面事故的事件。
以上國(guó)家、行業(yè)標(biāo)準(zhǔn)若被修訂、代替,以最新版本為準(zhǔn)。第四條 本規(guī)定所稱(chēng)航空安全舉報(bào)事件是指向中國(guó)民用航空總局(以下簡(jiǎn)稱(chēng)民航總局)或民航地區(qū)管理局舉報(bào)的與航空安全有關(guān)的事件。第五條 本規(guī)定所稱(chēng)航空安全信息系統(tǒng)是指專(zhuān)門(mén)用于民用航空安全信息收集、報(bào)告和管理的計(jì)算機(jī)網(wǎng)絡(luò)系統(tǒng)。第六條 本規(guī)定所稱(chēng)事發(fā)相關(guān)單位是指航空器運(yùn)營(yíng)人及事發(fā)地的運(yùn)行保證部門(mén)。第七條 民用航空安全信息工作實(shí)行統(tǒng)一管理、分級(jí)負(fù)責(zé)的原則。民航總局負(fù)責(zé)統(tǒng)一監(jiān)督管理全行業(yè)航空安全信息工作;民航地區(qū)管理局負(fù)責(zé)監(jiān)督管理本轄區(qū)內(nèi)的民用航空安全信息工作。第八條 民航總局負(fù)責(zé)組織建立航空安全信息系統(tǒng),實(shí)現(xiàn)民用航空安全信息共享。第九條 民航總局鼓勵(lì)和支持開(kāi)展民用航空安全信息收集、報(bào)告和分析應(yīng)用的技術(shù)研究,對(duì)在民用航空安全信息管理工作中做出貢獻(xiàn)的單位和個(gè)人,給予表彰和獎(jiǎng)勵(lì)。第十條 民用航空安全信息應(yīng)當(dāng)按照規(guī)定報(bào)告,任何單位和個(gè)人不得瞞報(bào)、緩報(bào)或謊報(bào)民用航空安全信息。第二章 民用航空安全信息的報(bào)告第十一條 飛行事故信息的報(bào)告按照以下規(guī)定進(jìn)行:
(一)飛行事故發(fā)生后,事發(fā)相關(guān)單位應(yīng)當(dāng)立即向民航總局和事發(fā)地民航地區(qū)管理局報(bào)告事故信息;在事故發(fā)生后12小時(shí)內(nèi),事發(fā)單位應(yīng)當(dāng)向事發(fā)地民航地區(qū)管理局填報(bào)“民用航空飛行不安全事件初始報(bào)告表”(附錄一)。事發(fā)地民航地區(qū)管理局應(yīng)當(dāng)在事發(fā)后24小時(shí)內(nèi)將審核后的初始報(bào)告表上報(bào)民航總局。
事發(fā)單位不能因?yàn)樾畔⒉蝗七t上報(bào)民用航空飛行不安全事件初始報(bào)告表;在上報(bào)民用航空飛行不安全事件初始報(bào)告表后如果獲得新的信息,應(yīng)當(dāng)及時(shí)補(bǔ)充報(bào)告。
(二)由民航總局組織事故調(diào)查的,負(fù)責(zé)調(diào)查的單位應(yīng)當(dāng)在事故發(fā)生后120天內(nèi)向國(guó)務(wù)院或者國(guó)務(wù)院事故調(diào)查主管部門(mén)提交事故調(diào)查報(bào)告,并填報(bào)“民用航空飛行不安全事件最終報(bào)告表”(附錄二)。由民航地區(qū)管理局組織事故調(diào)查的,負(fù)責(zé)調(diào)查的單位應(yīng)當(dāng)在事故發(fā)生后90天內(nèi)向民航總局提交事故調(diào)查報(bào)告和填報(bào)“民用航空飛行不安全事件最終報(bào)告表”。不能按期提交事故調(diào)查報(bào)告的,應(yīng)當(dāng)向接受報(bào)告的部門(mén)提交書(shū)面的情況說(shuō)明。第十二條 航空地面事故信息的報(bào)告按照以下規(guī)定進(jìn)行:
(一)航空地面事故發(fā)生后,事發(fā)相關(guān)單位應(yīng)當(dāng)立即向事發(fā)地民航地區(qū)管理局報(bào)告事故信息。事發(fā)單位應(yīng)當(dāng)于事發(fā)后12小時(shí)內(nèi)向事發(fā)地民航地區(qū)管理局填報(bào)“民用航空地面不安全事件初始報(bào)告表”(附錄三);事發(fā)地民航地區(qū)管理局應(yīng)當(dāng)在事發(fā)后24小時(shí)內(nèi)將審核后的初始報(bào)告表上報(bào)民航總局。
事發(fā)單位上報(bào)航空地面事故初始報(bào)告表后如果獲得新的信息,應(yīng)當(dāng)及時(shí)補(bǔ)充報(bào)告。
(二)航空地面事故調(diào)查結(jié)束后,負(fù)責(zé)事故調(diào)查的單位應(yīng)當(dāng)在10日內(nèi)向民航總局提交航空地面事故調(diào)查報(bào)告和填報(bào)“民用航空地面不安全事件最終報(bào)告表”(附錄四)。第十三條 飛行事故征候信息的報(bào)告按照以下規(guī)定進(jìn)行:
(一)飛行事故征候發(fā)生后,事發(fā)相關(guān)單位應(yīng)當(dāng)盡快向事發(fā)地民航地區(qū)管理局報(bào)告事故征候信息。事發(fā)單位應(yīng)當(dāng)于事發(fā)后24小時(shí)內(nèi)向事發(fā)地民航地區(qū)管理局填報(bào)“民用航空飛行不安全事件初始報(bào)告表”;事發(fā)地民航地區(qū)管理局應(yīng)當(dāng)在事發(fā)后48小時(shí)內(nèi)將審核后的初始報(bào)告表上報(bào)民航總局。
事發(fā)單位上報(bào)飛行事故征候初始報(bào)告表后如果獲得新的信息,應(yīng)當(dāng)及時(shí)補(bǔ)充報(bào)告。
(二)飛行事故征候調(diào)查結(jié)束后,負(fù)責(zé)調(diào)查的單位應(yīng)當(dāng)在10日內(nèi)向民航總局填報(bào)“民用航空飛行不安全事件最終報(bào)告表”。
飛行安全管理信息系統(tǒng) 包括哪些功能
目前,國(guó)內(nèi)大中型航空公司建立的安全管理軟件,尚未建立各類(lèi)安全信息的綜合分析、趨勢(shì)預(yù)測(cè)、深入挖掘等功能。針對(duì)當(dāng)前航空安全信息存在著數(shù)量不足、質(zhì)量不高、交流共享困難、分析利用不充分等問(wèn)題。論文根據(jù)民航局關(guān)于民航安全管理體系(SMS)要求,采用SSH架構(gòu)一整套軟件系統(tǒng)(ASMIS)。該應(yīng)用系統(tǒng)由“偏差事件管理”、“飛行品質(zhì)管理”、“風(fēng)險(xiǎn)管理”等子系統(tǒng)構(gòu)成。
系統(tǒng)采用struts1.0的技術(shù)框架,可重用、模塊化、擴(kuò)展性好,提供了豐富的標(biāo)簽庫(kù),使頁(yè)面能更加靈活的使用。在系統(tǒng)中融合決策輔助模塊,運(yùn)用數(shù)學(xué)模型和統(tǒng)計(jì)分析方法,為安全管理決策的科學(xué)制定提供了強(qiáng)有力的平臺(tái)支持。核心部分是運(yùn)用辨別力強(qiáng)的軟件技術(shù)對(duì)偏差事件、飛行品質(zhì)信息予以自動(dòng)收集與識(shí)別,在實(shí)現(xiàn)中,系統(tǒng)根據(jù)不同的用戶(hù)需求、不同查詢(xún)、統(tǒng)計(jì)條件,自動(dòng)進(jìn)行統(tǒng)計(jì)分析,風(fēng)險(xiǎn)評(píng)估,及時(shí)發(fā)現(xiàn)問(wèn)題,進(jìn)行提示預(yù)警,實(shí)現(xiàn)有效的動(dòng)態(tài)監(jiān)控。
航空安全管理信息系統(tǒng)作為安全管理的信息平臺(tái),是安全管理體系建設(shè)工作的重要組成部分,為安全管理體系建設(shè)起到信息化的支持作用。系統(tǒng)的運(yùn)行有助于提高安全管理的科學(xué)性,逐步實(shí)現(xiàn)安全管理方式由被動(dòng)的事后管理向主動(dòng)的事前的管理轉(zhuǎn)變。
C語(yǔ)言編寫(xiě)一個(gè)簡(jiǎn)單的航空管理系統(tǒng)
需要分析:
A.車(chē)尋航線(xiàn):
1.根據(jù)旅客提出的起點(diǎn)站,終點(diǎn)站名輸出下列信息:航班號(hào),票價(jià),折扣,最多載客量,是否滿(mǎn)載,起飛時(shí)間,降落時(shí)間和飛行時(shí)間;
2.根據(jù)訂票乘客的姓名可以查詢(xún)所訂航班的航班號(hào),座位號(hào),飛行日期等信息;
3.根據(jù)航班號(hào)查詢(xún)航班的起點(diǎn)站,中轉(zhuǎn)站,終點(diǎn)站名,票價(jià),折扣,最多載客量,是否滿(mǎn)載,起飛時(shí)間,降落時(shí)間和飛行時(shí)間;
B.承辦客戶(hù)提出的要求(航班號(hào)、訂票數(shù)額)查詢(xún)?cè)摵桨嗥鳖~情況,若有余票,則為客戶(hù)辦理訂票手續(xù),輸出座位號(hào),需付款項(xiàng)信息;若已滿(mǎn)員或余票額少于盯票額,則需重新詢(xún)問(wèn)客戶(hù)要求。若需要,可登記排隊(duì)候補(bǔ);
C.根據(jù)客戶(hù)提供的情況(日期、航班),為客戶(hù)辦理退票手續(xù)。(然后查詢(xún)?cè)摵桨嗍欠裼腥伺抨?duì)候補(bǔ),首先詢(xún)問(wèn)排第一的客戶(hù),若所退票額所能滿(mǎn)足他的要求,則為他辦理訂票手續(xù),否則依次詢(xún)問(wèn)其他排隊(duì)候補(bǔ)客戶(hù));
E.內(nèi)部人員對(duì)航班情況的控制:
可以錄入航班信息,刪除航班信息,修改航班信息,查看基本航班信息。
概要設(shè)計(jì):
因?yàn)槊總€(gè)客戶(hù)名單或查詢(xún)名單都包括多個(gè)數(shù)據(jù)域,這樣就需要有一個(gè)能存儲(chǔ)多個(gè)數(shù)據(jù)域的數(shù)據(jù)類(lèi)型來(lái)存儲(chǔ),因此采用單鏈表類(lèi)型。由于航線(xiàn)的信息是固定的,可選用結(jié)構(gòu)體數(shù)組,又因?yàn)橛喥迸c預(yù)約人數(shù)無(wú)法預(yù)計(jì),可選用鏈表存儲(chǔ)信息。
線(xiàn)性表的單鏈表存儲(chǔ)結(jié)構(gòu):typedef struct LNode{
ElemType;
Struct Lnode*next;}LNode,*LinkList;
a.抽象數(shù)據(jù)類(lèi)型順序表的定義如下:
ADT SqList{
數(shù)據(jù)對(duì)象:D={ai|ai∈數(shù)據(jù)類(lèi)型,i=1,2,3...,n}
數(shù)據(jù)關(guān)系:R1={ai-1,ai|ai-1,ai∈D,i=1,2,3...,n}
基本操作:
InitList_Sq(L)
操作結(jié)果:創(chuàng)建空的順序表。
CreatList_Sq(L)
操作結(jié)果:建立順序表。
}ADT SqList
b.抽象數(shù)據(jù)類(lèi)型單鏈表的定義如下:
ADT LinkList{
數(shù)據(jù)對(duì)象:D={ai|ai∈結(jié)構(gòu)類(lèi)型,i=1,2,3...,n,n0}
數(shù)據(jù)關(guān)系:R1={ai-1,ai|ai-1,ai∈D,i=1,2,3...,n}
基本操作:
InitList_L(L)
操作結(jié)果:創(chuàng)建空的順序表。
}ADT LinkList
在main()里調(diào)用各個(gè)函數(shù)
2.主程序
void main(){
初始化;
do{
接受命令;
處理命令;
}while(“命令”!=“退出”);
}
3.程序的模塊調(diào)用:
三.詳細(xì)設(shè)計(jì):
1.所有數(shù)據(jù)類(lèi)型:
struct plan /*航班數(shù)據(jù)*/
{
char num[5];/*航班號(hào)碼*/
char city[10];/*到達(dá)城市*/
char up[8];/*航班起飛時(shí)間*/
char down[8];/*航班到達(dá)時(shí)間*/
int pric ;/*航班價(jià)格*/
int rshu ;/*人數(shù)*/
int zheg[4];/*價(jià)格折扣*/
}
;
struct man/*定票人數(shù)據(jù)*/
{
char num[10];/*身份證號(hào)碼*/
char nam[10];/*姓名*/
int demand ;/*定票數(shù)量*/
}
;
typedef struct node/*航班數(shù)據(jù)結(jié)點(diǎn)*/
{
struct plan data ;
struct node*next ;
}
Node,*Link ;
typedef struct people/*乘客數(shù)據(jù)結(jié)點(diǎn)*/
{
struct man data ;
struct people*next ;
}
peo,*LIN ;
2.程序所用函數(shù):
void print()/*界面輸出*/
{
printf("============================System of book ticket===============================\n");
printf("\n");
printf("\t***********************************************************\n");
printf("\t*\t1---Bookticket \t2---Dishonorbill *\n");
printf("\t*\t3---Adding flight\t4---Adding flight *\n");
printf("\t*\t5---Modify \t6---Advice *\n");
printf("\t*\t7---Save \t8---exit *\n");
printf("\t##########################################################\n");
}
添加航班模塊
void add(Link l)/*添加航班數(shù)據(jù)*/
{
Node*p,*r,*s ;
char num[10];
r=l ;
s=l-next ;
while(r-next!=NULL)
r=r-next ;
while(1)
{
printf("please input the number of the plan(0-return)");/*輸入0就返回*/
scanf("%s",num);
if(strcmp(num,"0")==0)
break ;
while(s)
{
if(strcmp(s-data.num,num)==0)
{
printf("=====tip:the number'%s'has been born!\n",num);
return ;
}
s=s-next ;
}
p=(Node*)malloc(sizeof(Node));/*航班數(shù)據(jù)輸入*/
strcpy(p-data.num,num);
printf("Input the city where the plan will reach:");/*飛機(jī)到達(dá)地城市*/
scanf("%s",p-data.city);
getchar();
printf("Input the time which the plan take off:");/*起飛時(shí)間*/
scanf("%s",p-data.up);
getchar();
printf("Input the time which the plan reach:");/*降落時(shí)間*/
scanf("%s",p-data.down);
getchar();
printf("Input the price of ticket:$");/*機(jī)票價(jià)格*/
scanf("%d",p-data.pric);
getchar();
printf("Input the number of people who have booked ticket:");/*定票數(shù)量*/
scanf("%d",p-data.rshu);
getchar();
printf("Input the agio of the ticket:");
scanf("%s",p-data.zheg);
getchar();
p-next=NULL ;
r-next=p ;
r=p ;
shoudsave=1 ;
}
}
輸出模塊
void pri(Node*p)/*輸出函數(shù)*/
{
printf("\n\t\t\tThe following is the record you want:\n");
printf("\nnumber of plan: %s",p-data.num);
printf("\ncity the plan will reach: %s",p-data.city);
printf("\nthe time the plan take off: %s\nthe time the plan reach: %s",p-data.up,p-data.down);
printf("\nthe price of the ticket: %d",p-data.pric);
printf("\nthe number of people who have booked ticket: %d",p-data.rshu);
printf("\nthe agio of the ticket:%s",p-data.zheg);
}
退出函數(shù)模塊
Node*Locate1(Link l,char findmess[],char numorcity[])
{
Node*r ;
if(strcmp(numorcity,"num")==0)
{
r=l-next ;
while(r)
{
if(strcmp(r-data.num,findmess)==0)
return r ;
r=r-next ;
}
}
else if(strcmp(numorcity,"city")==0)
{
r=l-next ;
while(r)
{
if(strcmp(r-data.city,findmess)==0)
return r ;
r=r-next ;
}
}
return 0 ;
}
航班信息模塊
void qur(Link l)/*航班信息查詢(xún)*/
{
Node*p ;
int sel ;
char str1[5],str2[10];
if(!l-next)
{
printf("TIP:there are not any record to be inquired for you!");
return ;
}
printf("Choose the way:(1-according to the number of plan;2-according to the city):");/*選擇航班號(hào)查詢(xún)和終點(diǎn)城市查詢(xún)*/
scanf("%d",sel);
if(sel==1)
{
printf("Input the the number of plan:");
scanf("%s",str1);
p=Locate1(l,str1,"num");
if(p)
{
printf("the following is what you want:\n");
pri(p);
}
else
{
mark1=1 ;
printf("\nthe file can't be found!");
}
}
else if(sel==2)
{
printf("Input the city:");
scanf("%s",str2);
p=Locate1(l,str2,"city");
if(p)
{
printf("the following is what you want:\n");
pri(p);
}
else
{
mark1=1 ;
printf("\nthe file can't be found!");
}
}
}
定票模塊
void buy(Link l,LIN k)/*定票函數(shù)*/
{
Node*r[10],*p ;
int ch,dem ;
peo*v,*h ;
int i=0,t=0 ;
char str[10],str1[10],str2[10];
v=k ;
while(v-next!=NULL)
v=v-next ;
printf("Input the city you want to go: ");/*航班終點(diǎn)站城市*/
scanf("%s",str);
p=l-next ;
while(p!=NULL)
{
if(strcmp(p-data.city,str)==0)
{
r[i]=p ;
i++;
}
p=p-next ;
}
printf("\n\nthe number of record have %d\n",i);
for(t=0;ti;t++)
pri(r[t]);
if(i==0)
printf("\n\tSorry!Can't find the plan for you!\n");
else
{
printf("\ndo you want to book it?1/0\n");
printf("please choose: ");
scanf("%d",ch);
if(ch==1)
{
h=(peo*)malloc(sizeof(peo));/*重新分配空間*/
printf("Input your name: ");
scanf("%s",str1);
strcpy(h-data.nam,str1);
printf("Input your id: ");
scanf("%s",str2);
strcpy(h-data.num,str2);
printf("Input your demand: ");
scanf("%d",dem);
h-data.demand=dem ;
h-next=NULL ;
v-next=h ;
v=h ;
printf("\n\tLucky!Success in booking ticket!");
getch();
shoudsave=1 ;
}
}
}
peo*Locate2(LIN k,char findmess[])
{
peo*r ;
r=k-next ;
while(r)
{
if(strcmp(r-data.num,findmess)==0)
{
mark=1 ;
return r ;
}
r=r-next ;
}
return 0 ;
}
退票模塊
void tui(LIN k)/*退票函數(shù)*/
{
char str[10];
peo*p,*r ;
int ch2=0 ;
printf("Input your id: ");/*輸入身份證號(hào)*/
scanf("%s",str);
p=Locate2(k,str);
if(mark!=1)
printf("can't find the people!");
else if(mark==1)
{
mark=0 ;
printf("\t\t\tthe following is the record you want:\n");
printf("your id:%s\n",p-data.num);
printf("name:%s\n",p-data.nam);
printf("your denmand:%d",p-data.demand);
printf("\ndo you want to refund the ticket?1/0");
scanf("%d",ch2);
if(ch2==1)
{
if(p)
{
r=k ;
while(r-next!=p)
r=r-next ;
r-next=p-next ;
free(p);
}
count2--;
printf("\nyou have sucessed in refunding ticket!");
shoudsave=1 ;
}
}
}
void Modify(Link l)/*修改航班信息*/
{
Node*p ;
char findmess[20],ch ;
if(!l-next)
{
printf("\n=====tip:there isn't record for you to modify!\n");
return ;
}
else
{
qur(l);
if(mark1==0)
{
printf("\nDo you want to modify it?\n");
getchar();
scanf("%c",ch);
if(ch=='y');
{
printf("\nInput the number of the plan:");
scanf("%s",findmess);
p=Locate1(l,findmess,"num");
if(p)
{
printf("Input another number of plan:");
scanf("%s",p-data.num);
getchar();
printf("Input another city the plan will reach:");
scanf("%s",p-data.city);
getchar();
printf("Input another time the plan take off");
scanf("%s",p-data.up);
printf("Input another time the plan reach:");
scanf("%s",p-data.down);
printf("Input another price of the ticket::");
scanf("%d",p-data.pric);
printf("Input another number of people who have booked ticket:");
scanf("%d",p-data.rshu);
printf("Input another agio of the ticket:");
scanf("%s",p-data.zheg);
printf("\n=====tip:modifying record is sucessful!\n");
shoudsave=1 ;
}
else
printf("\tcan't find the flight!");
}
}
else
mark1=0 ;
}
}
void advice(Link l)/*終點(diǎn)站航班查詢(xún)*/
{
Node*r ;
char str[10];
int mar=0 ;
r=l-next ;
printf("Iuput the city you want to go: ");/*輸入終點(diǎn)站城市*/
scanf("%s",str);
while(r)
{
if(strcmp(r-data.city,str)==0r-data.rshu200)
{
mar=1 ;
printf("\nyou can select the following plan!\n");
printf("\n\nplease select the fourth operation to book the ticket!\n");
pri(r);
}
r=r-next ;
}
if(mar==0)
printf("\n\t\t\tyou can't book any ticket now!\n");
}
void save1(Link l)/*保存數(shù)據(jù)*/
{
FILE*fp ;
Node*p ;
int count=0,flag=1 ;
fp=fopen("g:\\data1","wb");
if(fp==NULL)
{
printf("the file can't be opened!");
return ;
}
p=l-next ;
while(p)
{
if(fwrite(p,sizeof(Node),1,fp)==1)
{
p=p-next ;
count++;
}
else
{
flag=0 ;
break ;
}
}
if(flag)
{
printf("the number of the record which have been saved is %d\n",count);
shoudsave=0 ;
}
fclose(fp);
}
void save2(LIN k) /*保存數(shù)據(jù)*/
{
FILE*fp ;
peo*p ;
int count=0,flag=1 ;
fp=fopen("g:\\data2","wb");/*文件連接*/
if(fp==NULL)
{
printf("the file can't be opened!");
return ;
}
p=k-next ;
while(p)
{
if(fwrite(p,sizeof(peo),1,fp)==1)
{
p=p-next ;
count++;
}
else
{
flag=0 ;
break ;
}
}
if(flag)
{
printf("the number of the record which have been saved is %d\n",count);
shoudsave=0 ;
}
fclose(fp);
}
四.主函數(shù)模塊:
main()
{
FILE*fp1,*fp2 ;
Node*p,*r ;
char ch1,ch2 ;
Link l ;
LIN k ;
peo*t,*h ;
int sel ;
l=(Node*)malloc(sizeof(Node));
l-next=NULL ;
r=l ;
k=(peo*)malloc(sizeof(peo));
k-next=NULL ;
h=k ;
fp1=fopen("g:\\data1","ab+");
if((fp1==NULL))
{
printf("can't open the file!");
return 0 ;
}
while(!feof(fp1))
{
p=(Node*)malloc(sizeof(Node));
if(fread(p,sizeof(Node),1,fp1)==1)
{
p-next=NULL ;
r-next=p ;
r=p ;
count1++;
}
}
fclose(fp1);
fp2=fopen("g:\\data2","ab+");
if((fp2==NULL))
{
printf("can't open the file!");
return 0 ;
}
while(!feof(fp2))
{
t=(peo*)malloc(sizeof(peo));
if(fread(t,sizeof(peo),1,fp2)==1)
{
t-next=NULL ;
h-next=t ;
h=t ;
count2++;
}
}
fclose(fp2);
while(1)
{
getch();
clrscr();
print();
printf("please choose the operation(1-8): ");
scanf("%d",sel);
if(sel==8)
{
if(shoudsave==1)
{
getchar();
printf("\n=====tip:the file have been changed!do you want to save it(y/n)?\n");
scanf("%c",ch1);
if(ch1=='y'||ch1=='Y')
{
save2(k);
save1(l);
}
}
printf("\n\tyou have exited! Happy serve for you");
break ;
}
switch(sel)
{
case 1 :
buy(l,k);
break ;
case 2 :
tui(k);
break ;
case 3 :
qur(l);
break ;
case 4 :
add(l);
break ;
case 5 :
Modify(l);
break ;
case 6 :
advice(l);
break ;
case 7 :
{
save1(l);
save2(k);
break ;
}
case 8 :
exit(0);
}
}
getch();
}
JAVA實(shí)訓(xùn)航空管理信息系統(tǒng)怎么實(shí)現(xiàn)用戶(hù)密碼修改和添加用戶(hù)
頁(yè)面表單提交,通過(guò)action找到對(duì)應(yīng)Action類(lèi),調(diào)用相應(yīng)Service進(jìn)行修改后return success,在struts.xml中找到跳轉(zhuǎn)頁(yè)面即可
關(guān)于《航空管理信息系統(tǒng)是什么》的介紹到此就結(jié)束了。