飞机订票系统设计 c语言
(已修改,请用最新的代码)代码说明:
1级菜单:选择购买的航班号,并显示对应座位状态。
(我只做测试,所以初始化initFlight函数中我只初始了2个航班,需要自己按照我的代码添)
(注意:实际开发软件,链表数据是从数据库中读取的,需要实时同步,如果要多次调用initFlight函数,记得自己写一个释放内存的函数,把所有链表“SINFO和FLINFO”节点都释放掉,释放函数我没写,需要你自己写!!!)
2级菜单:选择购买对应座位号,完成购买,并实时显示购买结果。
位置编号、座位最大排数、舱室类型、折扣等参数均由常量参数空值,需要修改自行改常量。
注意:舱室类型(我默认3个类型头等舱、公务舱、经济舱)对应折扣参数:tDiscount二维数组。如要如要添加新的舱室类型,必须将参数常量TYPESIZE、typeName、types、tDiscount这4个同时修改,具体看代码备注!!
座位票价=基础票价*类型折扣*时段折扣。
因为飞机不让吸烟,所以我没做吸烟区(笑),如果你需要,可以作为类型自行添加!
#include《stdio.h》
#include《stdlib.h》
#include《conio.h》
#include《string.h》
#include《malloc.h》
#include《time.h》
//———————–相关参数,想改变,在这里修改!!!!!!!—————————–
const float timeDiscount=1;//时段折扣,影响所有航班最终价格,默认1
const char cID=“ABCD“;//位置编号
const int maxRow=20;//位置最大排号
//注意:如果修改类型数量,types和tDiscount必须同时修改!!!
#define TYPESIZE 3//类型数量
const char typeName[TYPESIZE]={“头等舱“,“公务舱“,“经济舱“};
const int types[TYPESIZE]={{1,2},{3,4},{5,20}};//排号对应类型。1~2排头等舱,3~4排公务舱,5~20排经济舱
const float tDiscount[TYPESIZE]={1.5,1.3,1};//类型折扣。头等舱1.5倍,公务舱1.3倍,经济舱1倍
//——————————————————————————-
typedef struct seatInfo//座位信息,一条链表对应一个航班信息,链表顺序从第一排左边第一个开始往后A1~D1,A2~D2。。。
{
char cloID;//位置编号A、B、C、D
int row;//位置排号
int type;//座位所属类型:0:头等舱、1:公务舱、2:经济舱,不同类型对应不同的类型折扣tDiscount
int sell;//出售状态,0:未出售;1:已出售
struct seatInfo *next;
}SINFO;
typedef struct flightInfo//航班信息
{
char fid;//航班号
time_t tfTime;//起飞时间
time_t ldTime;//降落时间
char toCity;//抵达城市
float tPrice;//基础票价,不同位置具有不同折扣,座位票价=基础票价*类型折扣*时段折扣
struct flightInfo *next;
struct seatInfo *sHead;//对应座位链表的头节点
}FLINFO;
void meError(void *p);
SINFO *getSINFO();//获取座位链表
//addFLINFO:添加航班信息链表的节点flinfoHead:头节点(第一次传NULL会自动生成),flinfoTail:尾节点,fNew:要添加的结构信息(成员指针无需赋值)
FLINFO *addFLINFO(FLINFO **ffHead,FLINFO *flinfoTail,FLINFO fNew);//返回尾节点
time_t getTime_tfromStr(char *sTime);//将YYYY-MM-DD hh:mm:ss格式的时间字符串转换成time_t型数值
FLINFO *initFlight();//初始化航班信息,返回航班链表头节点,如果想手动输入,请在这里添加!!!正常软件开发,这一步应该是从数据库读取!
char *getTString(struct tm *tm0);//通过tm获取时间字符串
void showSinfo(FLINFO *flinfo);//显示航班对应座位信息
void printfFlinfo(FLINFO * flinfoHead);
FLINFO *selectFlinfo(FLINFO *flinfoHead,char *fid);//选择航班号,返回节点
void showSinfo(FLINFO *flinfo);//显示航班对应座位信息
SINFO *selectSinfo(FLINFO *flinfo,char *sid);//选择座位,返回节点
int main()
{
FLINFO *flinfoHead=initFlight(),*ffSelect=NULL;
SINFO *sfSelect=NULL;
char fid={0},sid={10};
while(1)
{
ffSelect=NULL;
sfSelect=NULL;
memset(fid,0,10);
memset(sid,0,10);
printfFlinfo(flinfoHead);
printf(“请输入要购买的航班号:“);
scanf(“%s“,fid);
ffSelect=selectFlinfo(flinfoHead,fid);
if(!ffSelect)
{
printf(“未找到对应航班,按任意键继续—–\n“);
getch();
system(“cls“);
continue;
}
system(“cls“);
printf(“航班号:%s 座位信息如下:\n“,ffSelect-》fid);
showSinfo(ffSelect);
printf(“请输入要购买的座位编号(输入0返回主菜单):“);
scanf(“%s“,sid);
if(!strcmp(sid,“0“))
{
system(“cls“);
continue;
}
else
{
sfSelect=selectSinfo(ffSelect,sid);
if(!sfSelect||sfSelect-》sell)
{
printf(“未找到对应座位或该座位已出售,请重新输入!按任意键继续—–\n“);
getch();
system(“cls“);
continue;
}
printf(“购买成功!按任意键继续—–“);
sfSelect-》sell=1;
getch();
system(“cls“);
}
}
return 0;
}
SINFO *selectSinfo(FLINFO *flinfo,char *sid)//选择座位,返回节点
{
SINFO *sinfoHead=flinfo-》sHead;
while(sinfoHead-》next)
{
if(sinfoHead-》next-》cloID==sid && sinfoHead-》next-》row==atoi(sid+1))
return sinfoHead-》next;
sinfoHead=sinfoHead-》next;
}
return NULL;
}
void showSinfo(FLINFO *flinfo)//显示航班对应座位信息
{
SINFO *sinfoHead=flinfo-》sHead,*sfp=NULL;
int i,j,k,row=maxRow,clo=strlen(cID);
char typeStr={0};
for(i=0;i《row;i++)
{
//———读取座位所属舱室————
memset(typeStr,0,10);
for(k=0;k《TYPESIZE;k++)
if(i+1》=types[k] && i+1《=types[k])
strcpy(typeStr,typeName[k]);
//————————————–
printf(“\n“);
for(j=0;j《clo;j++)
printf(“————- “);
printf(“\n“);
sfp=sinfoHead;
for(j=0;j《clo;j++)
{
printf(“| %c%02d | “,sfp-》next-》cloID,sfp-》next-》row);
sfp=sfp-》next;
}
printf(“\n“);
sfp=sinfoHead;
for(j=0;j《clo;j++)
{
printf(“| %c | “,sfp-》next-》sell?2:1);
sfp=sfp-》next;
}
printf(“\n“);
sfp=sinfoHead;
for(j=0;j《clo;j++)
{
printf(“|%6s:%4.0f| “,typeStr,flinfo-》tPrice*tDiscount[sfp-》next-》type]*timeDiscount);
sfp=sfp-》next;
}
printf(“\n“);
sinfoHead=sfp;
}
for(j=0;i《clo;j++)
printf(“——- “);
printf(“\n“);
}
FLINFO *selectFlinfo(FLINFO *flinfoHead,char *fid)//选择航班号,返回节点
{
while(flinfoHead-》next)
{
if(!strcmp(flinfoHead-》next-》fid,fid))
return flinfoHead-》next;
flinfoHead=flinfoHead-》next;
}
return NULL;
}
void printfFlinfo(FLINFO * flinfoHead)
{
while(flinfoHead-》next)
{
printf(“目的地:%s,航班号:%s\n—-起飞时间:%s,抵达时间:%s\n\n“,flinfoHead-》next-》toCity,flinfoHead-》next-》fid,getTString(localtime(&flinfoHead-》next-》tfTime)),getTString(localtime(&flinfoHead-》next-》ldTime)));
flinfoHead=flinfoHead-》next;
}
}
char *getTString(struct tm *tm0)//通过tm获取时间字符串
{
char *str=(char *)malloc(sizeof(char)*20),num={0};
meError(str);
memset(str,0,20);
sprintf(num,“%4d“,tm0-》tm_year+1900);
strcat(str,num);
strcat(str,“-“);
memset(num,0,5);
sprintf(num,“%02d“,tm0-》tm_mon);
strcat(str,num);
strcat(str,“-“);
memset(num,0,5);
sprintf(num,“%02d“,tm0-》tm_mday);
strcat(str,num);
strcat(str,“ “);
memset(num,0,5);
sprintf(num,“%02d“,tm0-》tm_hour);
strcat(str,num);
strcat(str,“:“);
memset(num,0,5);
sprintf(num,“%02d“,tm0-》tm_min);
strcat(str,num);
strcat(str,“:“);
memset(num,0,5);
sprintf(num,“%02d“,tm0-》tm_sec);
strcat(str,num);
return str;
}
time_t getTime_tfromStr(char *sTime)//将YYYY-MM-DD hh:mm:ss格式的时间字符串转换成time_t型数值
{
time_t rt;
struct tm *tm1=NULL;
rt=time(NULL);
tm1=localtime(&rt);
sscanf(sTime,(“%4d-%2d-%2d %2d:%2d:%2d“),&tm1-》tm_year,&tm1-》tm_mon,&tm1-》tm_mday,&tm1-》tm_hour,&tm1-》tm_min,&tm1-》tm_sec);
tm1-》tm_year-=1900;
tm1-》tm_mon–;
rt=mktime(tm1);
return rt;
}
FLINFO *initFlight()//初始化航班信息,返回航班链表头节点,如果想手动输入,请在这里添加!!!正常软件开发,这一步应该是从数据库读取!
{
FLINFO *ffHead=NULL,*flinfoTail=NULL,fNew;
//——–添加一个航班信息—-需要增加按照我下面调用方式写——————————–
strcpy(fNew.fid,“CI502“);
fNew.tfTime=getTime_tfromStr(“2019-02-20 03:30:30“);
fNew.ldTime=getTime_tfromStr(“2019-02-20 05:20:30“);
strcpy(fNew.toCity,“台北“);
fNew.tPrice=1000;
fNew.next=NULL;
flinfoTail=addFLINFO(&ffHead,flinfoTail,fNew);
//——————————————————————————————–
strcpy(fNew.fid,“9C8921“);
fNew.tfTime=getTime_tfromStr(“2019-02-20 14:30:30“);
fNew.ldTime=getTime_tfromStr(“2019-02-20 16:40:30“);
strcpy(fNew.toCity,“香港“);
fNew.tPrice=500;
fNew.next=NULL;
flinfoTail=addFLINFO(&ffHead,flinfoTail,fNew);
return ffHead;
}
FLINFO *addFLINFO(FLINFO **ffHead,FLINFO *flinfoTail,FLINFO fNew)//返回尾节点
//添加航班信息链表的节点flinfoHead:头节点(第一次传NULL会自动生成),flinfoTail:尾节点,fNew:要添加的结构信息(成员指针无需赋值)
{
FLINFO *flinfoHead=*ffHead;
if(flinfoHead==NULL)
{
*ffHead=(FLINFO *)malloc(sizeof(FLINFO));
flinfoHead=*ffHead;
meError(flinfoHead);
flinfoHead-》next=NULL;
}
FLINFO *flinfoNew=(FLINFO *)malloc(sizeof(FLINFO));
meError(flinfoNew);
flinfoNew-》next=NULL;
flinfoNew-》fid=0;
strcpy(flinfoNew-》fid,fNew.fid);
flinfoNew-》ldTime=fNew.ldTime;
flinfoNew-》tfTime=fNew.tfTime;
flinfoNew-》toCity=0;
strcpy(flinfoNew-》toCity,fNew.toCity);
flinfoNew-》tPrice=fNew.tPrice;
flinfoNew-》sHead=getSINFO();
if(flinfoHead-》next==NULL)
flinfoHead-》next=flinfoNew;
else
flinfoTail-》next=flinfoNew;
flinfoTail=flinfoNew;
return flinfoTail;
}
SINFO *getSINFO()//获取座位链表
{
int maxClo=strlen(cID),cnt=maxClo*maxRow,clo=0,row=1,i;
SINFO *sinfoHead=(SINFO *)malloc(sizeof(SINFO)),*sinfoTail=NULL;
meError(sinfoHead);
sinfoHead-》next=NULL;
SINFO *sinfoNew=NULL;
while(cnt–)//按顺序生成对应数量的座位链表
{
if(clo==maxClo)
clo=0,row++;
if(row==maxRow+1)
row=1;
sinfoNew=(SINFO *)malloc(sizeof(SINFO));
meError(sinfoNew);
sinfoNew-》cloID=cID[clo];
sinfoNew-》row=row;
for(i=0;i《TYPESIZE;i++)
if(row》=types[i] && row《=types[i])
{
sinfoNew-》type=i;
break;
}
sinfoNew-》sell=0;
sinfoNew-》next=NULL;
if(sinfoHead-》next==NULL)
sinfoHead-》next=sinfoNew;
else
sinfoTail-》next=sinfoNew;
sinfoTail=sinfoNew;
clo++;
}
return sinfoHead;
}
void meError(void *p)//内存申请失败
{
if(p==NULL)
{
printf(“\n异常:内存申请失败!回车结束程序!\n“);
while(getch()!=’\r’);
exit(0);
}
}
飞机订票系统是一个怎么样的类型系统
咨询记录 · 回答于2021-12-08
飞机订票系统是一个怎么样的类型系统
飞机订票系统是一个实时系统
C语言程序设计飞机订票系统
#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;//已订票的客户姓名
int dingpiaoshu;//已订票数量
struct Yidingkehu *next1;//
}Yidingkehu,*Link;
typedef struct Weidingkehu
{//单链队
char name;//预订票的客户姓名
int yudingpiao;// 要订票数量
struct Weidingkehu *next2;//下一个链队结点指针
}Weidingkehu,*Qptr;
typedef struct Hangxian
{//创建一个含有六个信息的结构体
char hangbanhao;//航班号-
char feijihao;//飞机号
int feixingriqi;//起飞时间
int chenkerenshu;//座位数
int yupiao;//余票
char zhongdianzhai;//降落城市
struct Hangxian *next;//指向下一个链结点的指针
struct Yidingkehu *yiding;//定义一个指向已订票客户的头结点指针
struct Weidingkehu *yudingqueue;
}Hangxian,*Linklist;
Linklist InitLinklist();//01
int InsertLinklist(Linklist &head1);//02
void hbhchaxun();//通过航班号查询
void mddchaxun();//通过目的地查询
void lurugongneng();//初始化录入功能
void chaxungongnen();//查询功能
void dingpiaogongnen();//订票功能
void tuipiaogongnen();//退票功能
void main()
{
int n;
do{ //打印主界面
printf(“\t 欢迎使用航空客运订票系统\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请选择:“);
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请依次输入下面几项内容:\n\n“);//这里的输入采用一个个单独输入,避免了乱赋值的现象
printf(“航班号\n“);
gets(p-》hangbanhao);//这里的二个gets主要是因为在回车键的输入,其中的第一个是来接收上次的回车
gets(p-》hangbanhao);
printf(“飞机号\n“);
gets(p-》feijihao);
printf(“终点站\n“);
gets(p-》zhongdianzhai);
printf(“飞行日期\n“);
scanf(“%d“,&p-》feixingriqi);
printf(“乘客总数\n“);
scanf(“%d“,&p-》chenkerenshu);
printf(“余票数\n“);
scanf(“%d“,&p-》yupiao);
}
void chaxungongnen()//******************************************************************查询功能
{
int n;
printf(“\t 查 找 航 线 信 息 \n“);
printf(“\t+++++++++++++++++++++++++++++\n“);
printf(“\t==》1. 通过目的地查询 ==\n“);
printf(“\t==》2. 通过航班号查询 ==\n“);
printf(“\t+++++++++++++++++++++++++++++\n“);
printf(“\t请选择:“);
scanf(“%d“,&n);
printf(“\n“);//格式化
switch(n)
{
case 1:mddchaxun();
break;
case 2:hbhchaxun();
break;
default :break;
}
}
void mddchaxun()//通过目的地查询
{
char c;
int m;
Linklist p=L;
printf(“\t请输入要查询的目的地:“);
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航班号:%s\n“,p-》hangbanhao);
printf(“\t飞机号:%s\n“,p-》feijihao);
printf(“\t飞行时间:周%d\n“,p-》feixingriqi);
printf(“\t余票量:%d\n“,p-》yupiao);
}
}
else
{//如果不匹配的话就做
printf(“\t对不起没有你要找的目的地:\n\n“); m=0;
}
}while(m!=0);
}
void hbhchaxun()//通过目的地查询
{
char c;
int m;
Linklist p=L;
printf(“\t请输入要查询的航班号:“);
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航班号:%s\n“,p-》hangbanhao);
printf(“\t飞机号:%s\n“,p-》feijihao);
printf(“\t飞行时间:周%d\n“,p-》feixingriqi);
printf(“\t余票量:%d\n\n“,p-》yupiao);
}
}
else
{//如果不匹配的话就做
printf(“\t对不起没有你要找的航班号:\n“); m=0;
}
}while(m!=0);
}
void dingpiaogongnen()//***************************************************************订票功能
{
char c;
int m=1,piao,ydpiao=0,yd=0,n;//
gets(c);
printf(“请输入终点站名:“); gets(c); printf(“\n“);
p=L-》next;
if(p) {
do{//查找一下,是否有这个航班
if(!p)
{
printf(“对不起,没有你要找的航班:\n\n“);
goto loop1;
}
m=strcmpi(p-》zhongdianzhai,c);
if(m==0)
{
printf(“航班信息:\n“);
printf(“航班号:%s\n“,p-》hangbanhao);
printf(“飞机号:%s\n“,p-》feijihao);
printf(“飞行时间:周%d\n“,p-》feixingriqi);
printf(“余票量:%d\n“,p-》yupiao);}
else p=p-》next;
}while(m!=0);
if(m==0)
{
do{
printf(“\n请输入你要订的票数:“); scanf(“%d“,&piao);
if(piao《=p-》yupiao)
{
h=p-》yiding;
if(h)
{
h1=h;
h=h-》next1;
h=(struct Yidingkehu*)malloc(sizeof(Yidingkehu));
printf(“请输入你的名字:“);
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(“对不起,余票 %d 张不足,不能完成订票\n\n“,p-》yupiao);
printf(“ 是否要重新订票?\n“);
printf(“需要请输入1 否则请按2 预订请输入3 : “);
scanf(“%d“,&m);
printf(“\n“);
if(m==3) goto loop3;
}
}while(m==1);
}
}
else if(!p)
{
loop3: struct Weidingkehu *q3;
printf(“对不起,该航班的票已售完\n“);
q.front=p-》yudingqueue;
if(q.front==q.rear) printf(“没有人预订票,是否要预订?\n“);
else if(q.front!=q.rear) printf(“已有人预订票,是否要预订?\n“);
printf(“预订请输入1 否则输入2 : “);
scanf(“%d“,&n);
printf(“\n“);
if(n==1)
{
printf(“请输入你的姓名“); gets(q3-》name); gets(q3-》name);//q3不能指向name???
printf(“请输入订票数“); scanf(“%d“,&q3-》yudingpiao);
q3-》next2=NULL;
q.rear-》next2=q3;
q.rear=q3;
printf(“ 你已经预订了 !\n“);
}
}
loop1:;
}
void tuipiaogongnen()//***************************************************************退票功能
{
}
请采纳答案,支持我一下。
飞机订票系统设计
#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;//已订票的客户姓名
int dingpiaoshu;//已订票数量
struct Yidingkehu *next1;//
}Yidingkehu,*Link;
typedef struct Weidingkehu
{//单链队
char name;//预订票的客户姓名
int yudingpiao;// 要订票数量
struct Weidingkehu *next2;//下一个链队结点指针
}Weidingkehu,*Qptr;
typedef struct Hangxian
{//创建一个含有六个信息的结构体
char hangbanhao;//航班号-
char feijihao;//飞机号
int feixingriqi;//起飞时间
int chenkerenshu;//座位数
int yupiao;//余票
char zhongdianzhai;//降落城市
struct Hangxian *next;//指向下一个链结点的指针
struct Yidingkehu *yiding;//定义一个指向已订票客户的头结点指针
struct Weidingkehu *yudingqueue;
}Hangxian,*Linklist;
Linklist InitLinklist();//01
int InsertLinklist(Linklist &head1);//02
void hbhchaxun();//通过航班号查询
void mddchaxun();//通过目的地查询
void lurugongneng();//初始化录入功能
void chaxungongnen();//查询功能
void dingpiaogongnen();//订票功能
void tuipiaogongnen();//退票功能
void main()
{
int n;
do{ //打印主界面
printf(“\t 欢迎使用航空客运订票系统\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请选择:“);
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请依次输入下面几项内容:\n\n“);//这里的输入采用一个个单独输入,避免了乱赋值的现象
printf(“航班号\n“);
gets(p-》hangbanhao);//这里的二个gets主要是因为在回车键的输入,其中的第一个是来接收上次的回车
gets(p-》hangbanhao);
printf(“飞机号\n“);
gets(p-》feijihao);
printf(“终点站\n“);
gets(p-》zhongdianzhai);
printf(“飞行日期\n“);
scanf(“%d“,&p-》feixingriqi);
printf(“乘客总数\n“);
scanf(“%d“,&p-》chenkerenshu);
printf(“余票数\n“);
scanf(“%d“,&p-》yupiao);
}
void chaxungongnen()//******************************************************************查询功能
{
int n;
printf(“\t 查 找 航 线 信 息 \n“);
printf(“\t+++++++++++++++++++++++++++++\n“);
printf(“\t==》1. 通过目的地查询 ==\n“);
printf(“\t==》2. 通过航班号查询 ==\n“);
printf(“\t+++++++++++++++++++++++++++++\n“);
printf(“\t请选择:“);
scanf(“%d“,&n);
printf(“\n“);//格式化
switch(n)
{
case 1:mddchaxun();
break;
case 2:hbhchaxun();
break;
default :break;
}
}
void mddchaxun()//通过目的地查询
{
char c;
int m;
Linklist p=L;
printf(“\t请输入要查询的目的地:“);
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航班号:%s\n“,p-》hangbanhao);
printf(“\t飞机号:%s\n“,p-》feijihao);
printf(“\t飞行时间:周%d\n“,p-》feixingriqi);
printf(“\t余票量:%d\n“,p-》yupiao);
}
}
else
{//如果不匹配的话就做
printf(“\t对不起没有你要找的目的地:\n\n“); m=0;
}
}while(m!=0);
}
void hbhchaxun()//通过目的地查询
{
char c;
int m;
Linklist p=L;
printf(“\t请输入要查询的航班号:“);
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航班号:%s\n“,p-》hangbanhao);
printf(“\t飞机号:%s\n“,p-》feijihao);
printf(“\t飞行时间:周%d\n“,p-》feixingriqi);
printf(“\t余票量:%d\n\n“,p-》yupiao);
}
}
else
{//如果不匹配的话就做
printf(“\t对不起没有你要找的航班号:\n“); m=0;
}
}while(m!=0);
}
void dingpiaogongnen()//***************************************************************订票功能
{
char c;
int m=1,piao,ydpiao=0,yd=0,n;//
gets(c);
printf(“请输入终点站名:“); gets(c); printf(“\n“);
p=L-》next;
if(p) {
do{//查找一下,是否有这个航班
if(!p)
{
printf(“对不起,没有你要找的航班:\n\n“);
goto loop1;
}
m=strcmpi(p-》zhongdianzhai,c);
if(m==0)
{
printf(“航班信息:\n“);
printf(“航班号:%s\n“,p-》hangbanhao);
printf(“飞机号:%s\n“,p-》feijihao);
printf(“飞行时间:周%d\n“,p-》feixingriqi);
printf(“余票量:%d\n“,p-》yupiao);}
else p=p-》next;
}while(m!=0);
if(m==0)
{
do{
printf(“\n请输入你要订的票数:“); scanf(“%d“,&piao);
if(piao《=p-》yupiao)
{
h=p-》yiding;
if(h)
{
h1=h;
h=h-》next1;
h=(struct Yidingkehu*)malloc(sizeof(Yidingkehu));
printf(“请输入你的名字:“);
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(“对不起,余票 %d 张不足,不能完成订票\n\n“,p-》yupiao);
printf(“ 是否要重新订票?\n“);
printf(“需要请输入1 否则请按2 预订请输入3 : “);
scanf(“%d“,&m);
printf(“\n“);
if(m==3) goto loop3;
}
}while(m==1);
}
}
else if(!p)
{
loop3: struct Weidingkehu *q3;
printf(“对不起,该航班的票已售完\n“);
q.front=p-》yudingqueue;
if(q.front==q.rear) printf(“没有人预订票,是否要预订?\n“);
else if(q.front!=q.rear) printf(“已有人预订票,是否要预订?\n“);
printf(“预订请输入1 否则输入2 : “);
scanf(“%d“,&n);
printf(“\n“);
if(n==1)
{
printf(“请输入你的姓名“); gets(q3-》name); gets(q3-》name);//q3不能指向name???
printf(“请输入订票数“); scanf(“%d“,&q3-》yudingpiao);
q3-》next2=NULL;
q.rear-》next2=q3;
q.rear=q3;
printf(“ 你已经预订了 !\n“);
}
}
loop1:;
}
void tuipiaogongnen()//***************************************************************退票功能
{
}
以上回答你满意么?
飞机订票系统
#include《stdio.h》
#include《conio.h》
#include《string.h》
#include《stdlib.h》
#define OK 1
#define ERROR 0
#define PR printf
#define NULL 0
int N=10;
typedef struct customer
{
char name;
int seat_num;
int left;
struct customer *next;
}customer;
customer *creat_customer()//初始化链表
{
customer *l;
l=(customer *)malloc(sizeof(customer));
if(l==NULL)
{
exit(0);
}
l-》next=NULL;
return l;
}
int insert_customer(customer **p,char *name,int seat,int left)
{//customer链表插入操作
customer *q;
q=(customer*)malloc(sizeof(customer));
strcpy(q-》name , name);
q-》seat_num =seat;
q-》left=left;
q-》next=NULL;
(*p)-》next=q;
(*p)=(*p)-》next;
return OK;
}
int delete_cus(customer *h,char *name)//顾客退票
{
customer *p,*pr;
pr=h;
p=pr-》next ;
while(p!=NULL)
{
if(strcmp(name,p-》name )==0)
{
pr-》next =p-》next ;
PR(“顾客 %s 退票成功!\n“,p-》name );
return OK;
}
pr=pr-》next ;
p=pr-》next ;
}
PR(“无此顾客,无法退票!\n“);
return ERROR;
}
int save_customer (customer*l)//保存顾客信息
{
FILE *fp_customer;
customer *p=l-》next;
char filename=“c:\\customer.dat“;
if((fp_customer=fopen(filename,“wb“))==NULL)
{
printf(“can not open file to write:%s\n“,filename);
return ERROR;
}
for(;p!=NULL;p=p-》next)
{
fprintf(fp_customer,“%s,%d%“,p-》name,p-》seat_num);
}
fclose(fp_customer);
return OK;
}
int book(customer *c,char *name)//订票函数
{
customer *q=c-》next ;
for(;q-》next !=NULL;q=q-》next){}
{
if(q-》left 》0)
{
PR(“恭喜您!订票成功!\n“);
PR(“你的座位号是: %d\n“,(N-q-》left +1));
insert_customer(&q,name,N -q-》left +1,q-》left);
q-》left –;
return OK;
}
else PR(“对不起,座位已满!\n“);
return 0;
}
}
int print_customer(customer*l)//打印顾客信息
{
customer *p=l-》next;
for(;p!=NULL;p=p-》next)
{
PR(“%10s %d\n“,p-》name,p-》seat_num);
}
return OK;
}
void main()
{
char choice,name;
int t=1;
customer *cus=creat_customer();
customer *l = creat_customer();
while(t==1)
{
PR(“*—————————-*\n“);
PR(“*–航空订票系统选择菜单——*\n“);
PR(“* 订票——-0 *\n“);
PR(“* 退票——-1 *\n“);
PR(“* 查询——-2 *\n“);
PR(“* 退出——-5 *\n“);
PR(“*—————————-*\n“);
PR(“请选择: “);
choice = getch();
PR(“%c\n“,choice);
if(choice==’0’)
{
PR(“请输入你的姓名: “);
scanf( “%s“,name);
book(cus,name);
save_customer(cus);
}
else if(choice==’1’)
{
PR(“\n请输入你的姓名: “);
scanf( “%s“,name);
delete_cus(cus,name);
save_customer(cus);
}
else if(choice==’2’)
{
customer *p=l-》next;
if(l!=NULL)
do
{
PR(“%ld%5.1f\n“,p-》name,p-》seat_num);
p=p-》next;
}while(p!=NULL);
}
else if(choice==’3’)
{
PR(“byb“);
t=0;
}
else
{
PR(“error\n“);
}
}
getch();
}
c语言如何编写飞机订票系统
#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;//已订票的客户姓名
int dingpiaoshu;//已订票数量
struct Yidingkehu *next1;//
}Yidingkehu,*Link;
typedef struct Weidingkehu
{//单链队
char name;//预订票的客户姓名
int yudingpiao;// 要订票数量
struct Weidingkehu *next2;//下一个链队结点指针
}Weidingkehu,*Qptr;
typedef struct Hangxian
{//创建一个含有六个信息的结构体
char hangbanhao;//航班号-
char feijihao;//飞机号
int feixingriqi;//起飞时间
int chenkerenshu;//座位数
int yupiao;//余票
char zhongdianzhai;//降落城市
struct Hangxian *next;//指向下一个链结点的指针
struct Yidingkehu *yiding;//定义一个指向已订票客户的头结点指针
struct Weidingkehu *yudingqueue;
}Hangxian,*Linklist;
Linklist InitLinklist();//01
int InsertLinklist(Linklist &head1);//02
void hbhchaxun();//通过航班号查询
void mddchaxun();//通过目的地查询
void lurugongneng();//初始化录入功能
void chaxungongnen();//查询功能
void dingpiaogongnen();//订票功能
void tuipiaogongnen();//退票功能
void main()
{
int n;
do{ //打印主界面
printf(“\t 欢迎使用航空客运订票系统\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请选择:“);
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请依次输入下面几项内容:\n\n“);//这里的输入采用一个个单独输入,避免了乱赋值的现象
printf(“航班号\n“);
gets(p-》hangbanhao);//这里的二个gets主要是因为在回车键的输入,其中的第一个是来接收上次的回车
gets(p-》hangbanhao);
printf(“飞机号\n“);
gets(p-》feijihao);
printf(“终点站\n“);
gets(p-》zhongdianzhai);
printf(“飞行日期\n“);
scanf(“%d“,&p-》feixingriqi);
printf(“乘客总数\n“);
scanf(“%d“,&p-》chenkerenshu);
printf(“余票数\n“);
scanf(“%d“,&p-》yupiao);
}
void chaxungongnen()//******************************************************************查询功能
{
int n;
printf(“\t 查 找 航 线 信 息 \n“);
printf(“\t+++++++++++++++++++++++++++++\n“);
printf(“\t==》1. 通过目的地查询 ==\n“);
printf(“\t==》2. 通过航班号查询 ==\n“);
printf(“\t+++++++++++++++++++++++++++++\n“);
printf(“\t请选择:“);
scanf(“%d“,&n);
printf(“\n“);//格式化
switch(n)
{
case 1:mddchaxun();
break;
case 2:hbhchaxun();
break;
default :break;
}
}
void mddchaxun()//通过目的地查询
{
char c;
int m;
Linklist p=L;
printf(“\t请输入要查询的目的地:“);
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航班号:%s\n“,p-》hangbanhao);
printf(“\t飞机号:%s\n“,p-》feijihao);
printf(“\t飞行时间:周%d\n“,p-》feixingriqi);
printf(“\t余票量:%d\n“,p-》yupiao);
}
}
else
{//如果不匹配的话就做
printf(“\t对不起没有你要找的目的地:\n\n“); m=0;
}
}while(m!=0);
}
void hbhchaxun()//通过目的地查询
{
char c;
int m;
Linklist p=L;
printf(“\t请输入要查询的航班号:“);
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航班号:%s\n“,p-》hangbanhao);
printf(“\t飞机号:%s\n“,p-》feijihao);
printf(“\t飞行时间:周%d\n“,p-》feixingriqi);
printf(“\t余票量:%d\n\n“,p-》yupiao);
}
}
else
{//如果不匹配的话就做
printf(“\t对不起没有你要找的航班号:\n“); m=0;
}
}while(m!=0);
}
void dingpiaogongnen()//***************************************************************订票功能
{
char c;
int m=1,piao,ydpiao=0,yd=0,n;//
gets(c);
printf(“请输入终点站名:“); gets(c); printf(“\n“);
p=L-》next;
if(p) {
do{//查找一下,是否有这个航班
if(!p)
{
printf(“对不起,没有你要找的航班:\n\n“);
goto loop1;
}
m=strcmpi(p-》zhongdianzhai,c);
if(m==0)
{
printf(“航班信息:\n“);
printf(“航班号:%s\n“,p-》hangbanhao);
printf(“飞机号:%s\n“,p-》feijihao);
printf(“飞行时间:周%d\n“,p-》feixingriqi);
printf(“余票量:%d\n“,p-》yupiao);}
else p=p-》next;
}while(m!=0);
if(m==0)
{
do{
printf(“\n请输入你要订的票数:“); scanf(“%d“,&piao);
if(piao《=p-》yupiao)
{
h=p-》yiding;
if(h)
{
h1=h;
h=h-》next1;
h=(struct Yidingkehu*)malloc(sizeof(Yidingkehu));
printf(“请输入你的名字:“);
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(“对不起,余票 %d 张不足,不能完成订票\n\n“,p-》yupiao);
printf(“ 是否要重新订票?\n“);
printf(“需要请输入1 否则请按2 预订请输入3 : “);
scanf(“%d“,&m);
printf(“\n“);
if(m==3) goto loop3;
}
}while(m==1);
}
}
else if(!p)
{
loop3: struct Weidingkehu *q3;
printf(“对不起,该航班的票已售完\n“);
q.front=p-》yudingqueue;
if(q.front==q.rear) printf(“没有人预订票,是否要预订?\n“);
else if(q.front!=q.rear) printf(“已有人预订票,是否要预订?\n“);
printf(“预订请输入1 否则输入2 : “);
scanf(“%d“,&n);
printf(“\n“);
if(n==1)
{
printf(“请输入你的姓名“); gets(q3-》name); gets(q3-》name);//q3不能指向name???
printf(“请输入订票数“); scanf(“%d“,&q3-》yudingpiao);
q3-》next2=NULL;
q.rear-》next2=q3;
q.rear=q3;
printf(“ 你已经预订了 !\n“);
}
}
loop1:;
}
void tuipiaogongnen()//***************************************************************退票功能
{
}
///////////以下是人家的要求//////////
1、本系统采用一个包含N个数据的结构体数组,每个数据的结构应当包括:起飞地、目的地 航班号、座次号码、座次订出与否标记、订座者的姓名和订座者的身份证号码。
2、本系统显示这样的菜单:
(1) 输入航班信息
(2) 输出航班信息
(3) 查找航班信息
a.显示空座的数量
b.显示空座的信息
c.显示已订座的信息
d.起飞时间
(4)订票预约
(5)删除定票预约
(6)退出系统
1、 本系统成功执行菜单的每个信息,选项4)和5)将要求额外的输入,并且它们都允许用户收回其输入。
2、 查找航班信息既可按线路查,也可按目的地查。
4、在两次运行之间,数据被保存于一个文件里,当本程序重新开
始的时候,它首先从该文件读入数据
C语言程序写飞机订票系统
#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;//已订票的客户姓名
int dingpiaoshu;//已订票数量
struct Yidingkehu *next1;//
}Yidingkehu,*Link;
typedef struct Weidingkehu
{//单链队
char name;//预订票的客户姓名
int yudingpiao;// 要订票数量
struct Weidingkehu *next2;//下一个链队结点指针
}Weidingkehu,*Qptr;
typedef struct Hangxian
{//创建一个含有六个信息的结构体
char hangbanhao;//航班号-
char feijihao;//飞机号
int feixingriqi;//起飞时间
int chenkerenshu;//座位数
int yupiao;//余票
char zhongdianzhai;//降落城市
struct Hangxian *next;//指向下一个链结点的指针
struct Yidingkehu *yiding;//定义一个指向已订票客户的头结点指针
struct Weidingkehu *yudingqueue;
}Hangxian,*Linklist;
Linklist InitLinklist();//01
int InsertLinklist(Linklist &head1);//02
void hbhchaxun();//通过航班号查询
void mddchaxun();//通过目的地查询
void lurugongneng();//初始化录入功能
void chaxungongnen();//查询功能
void dingpiaogongnen();//订票功能
void tuipiaogongnen();//退票功能
void main()
{
int n;
do{ //打印主界面
printf(“\t 欢迎使用航空客运订票系统\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请选择:“);
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请依次输入下面几项内容:\n\n“);//这里的输入采用一个个单独输入,避免了乱赋值的现象
printf(“航班号\n“);
gets(p-》hangbanhao);//这里的二个gets主要是因为在回车键的输入,其中的第一个是来接收上次的回车
gets(p-》hangbanhao);
printf(“飞机号\n“);
gets(p-》feijihao);
printf(“终点站\n“);
gets(p-》zhongdianzhai);
printf(“飞行日期\n“);
scanf(“%d“,&p-》feixingriqi);
printf(“乘客总数\n“);
scanf(“%d“,&p-》chenkerenshu);
printf(“余票数\n“);
scanf(“%d“,&p-》yupiao);
}
void chaxungongnen()//******************************************************************查询功能
{
int n;
printf(“\t 查 找 航 线 信 息 \n“);
printf(“\t+++++++++++++++++++++++++++++\n“);
printf(“\t==》1. 通过目的地查询 ==\n“);
printf(“\t==》2. 通过航班号查询 ==\n“);
printf(“\t+++++++++++++++++++++++++++++\n“);
printf(“\t请选择:“);
scanf(“%d“,&n);
printf(“\n“);//格式化
switch(n)
{
case 1:mddchaxun();
break;
case 2:hbhchaxun();
break;
default :break;
}
}
void mddchaxun()//通过目的地查询
{
char c;
int m;
Linklist p=L;
printf(“\t请输入要查询的目的地:“);
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航班号:%s\n“,p-》hangbanhao);
printf(“\t飞机号:%s\n“,p-》feijihao);
printf(“\t飞行时间:周%d\n“,p-》feixingriqi);
printf(“\t余票量:%d\n“,p-》yupiao);
}
}
else
{//如果不匹配的话就做
printf(“\t对不起没有你要找的目的地:\n\n“); m=0;
}
}while(m!=0);
}
void hbhchaxun()//通过目的地查询
{
char c;
int m;
Linklist p=L;
printf(“\t请输入要查询的航班号:“);
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航班号:%s\n“,p-》hangbanhao);
printf(“\t飞机号:%s\n“,p-》feijihao);
printf(“\t飞行时间:周%d\n“,p-》feixingriqi);
printf(“\t余票量:%d\n\n“,p-》yupiao);
}
}
else
{//如果不匹配的话就做
printf(“\t对不起没有你要找的航班号:\n“); m=0;
}
}while(m!=0);
}
void dingpiaogongnen()//***************************************************************订票功能
{
char c;
int m=1,piao,ydpiao=0,yd=0,n;//
gets(c);
printf(“请输入终点站名:“); gets(c); printf(“\n“);
p=L-》next;
if(p) {
do{//查找一下,是否有这个航班
if(!p)
{
printf(“对不起,没有你要找的航班:\n\n“);
goto loop1;
}
m=strcmpi(p-》zhongdianzhai,c);
if(m==0)
{
printf(“航班信息:\n“);
printf(“航班号:%s\n“,p-》hangbanhao);
printf(“飞机号:%s\n“,p-》feijihao);
printf(“飞行时间:周%d\n“,p-》feixingriqi);
printf(“余票量:%d\n“,p-》yupiao);}
else p=p-》next;
}while(m!=0);
if(m==0)
{
do{
printf(“\n请输入你要订的票数:“); scanf(“%d“,&piao);
if(piao《=p-》yupiao)
{
h=p-》yiding;
if(h)
{
h1=h;
h=h-》next1;
h=(struct Yidingkehu*)malloc(sizeof(Yidingkehu));
printf(“请输入你的名字:“);
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(“对不起,余票 %d 张不足,不能完成订票\n\n“,p-》yupiao);
printf(“ 是否要重新订票?\n“);
printf(“需要请输入1 否则请按2 预订请输入3 : “);
scanf(“%d“,&m);
printf(“\n“);
if(m==3) goto loop3;
}
}while(m==1);
}
}
else if(!p)
{
loop3: struct Weidingkehu *q3;
printf(“对不起,该航班的票已售完\n“);
q.front=p-》yudingqueue;
if(q.front==q.rear) printf(“没有人预订票,是否要预订?\n“);
else if(q.front!=q.rear) printf(“已有人预订票,是否要预订?\n“);
printf(“预订请输入1 否则输入2 : “);
scanf(“%d“,&n);
printf(“\n“);
if(n==1)
{
printf(“请输入你的姓名“); gets(q3-》name); gets(q3-》name);//q3不能指向name???
printf(“请输入订票数“); scanf(“%d“,&q3-》yudingpiao);
q3-》next2=NULL;
q.rear-》next2=q3;
q.rear=q3;
printf(“ 你已经预订了 !\n“);
}
}
loop1:;
}
void tuipiaogongnen()//***************************************************************退票功能
{
}
请采纳答案,支持我一下。
飞机、火车订票系统属于什么方面的计算机应用
属于数据处理方面的计算机应用。
数据处理流程主要包括数据收集、数据预处理、数据存储、数据处理与分析、数据展示/数据可视化、数据应用等环节,其中数据质量贯穿于整个大数据流程,每一个数据处理环节都会对大数据质量产生影响作用。
通常,一个好的数据产品要有大量的数据规模、快速的数据处理、精确的数据分析与预测、优秀的可视化图表以及简练易懂的结果解释。
扩展资料:
数据的分布式处理技术与存储形式、业务数据类型等相关,针对大数据处理的主要计算模型有MapReduce分布式计算框架、分布式内存计算系统、分布式流计算系统等。
MapReduce是一个批处理的分布式计算框架,可对海量数据进行并行分析与处理,它适合对各种结构化、非结构化数据的处理。分布式内存计算系统可有效减少数据读写和移动的开销,提高大数据处理性能。分布式流计算系统则是对数据流进行实时处理,以保障大数据的时效性和价值性。
总之,无论哪种大数据分布式处理与计算系统,都有利于提高大数据的价值性、可用性、时效性和准确性。
大数据的类型和存储形式决定了其所采用的数据处理系统,而数据处理系统的性能与优劣直接影响大数据质量的价值性、可用性、时效性和准确性。因此在进行大数据处理时,要根据大数据类型选择合适的存储形式和数据处理系统,以实现大数据质量的最优化。
参考资料来源:百度百科——数据处理