• 回答数

    5

  • 浏览数

    222

陈果果122
首页 > 论文问答 > 飞机航班信息查询系统论文

5个回答 默认排序
  • 默认排序
  • 按时间排序

王小若1127

已采纳
要有源码?楼主视乎有点疯狂。200分我是拿不到了不过我还是祝福你能找到
179 评论

yeting1976

#include "h"#include "h"#include "h"#define MAXN 100typedef struct{char hour[MAXN];char minute[MAXN];} time;typedef struct node{char number[MAXN]; //航班号time start; //起飞时间time end; //到达时间char start_station[MAXN]; //起点站char end_station[MAXN]; //终点站char type[MAXN]; //飞机型号char price[MAXN]; //票价struct node*link;}NODE;NODE *create_link_list(int n){int i;NODE *head,*p,*q;if(n==0)return(NULL);head=(NODE*)malloc(sizeof(NODE));for(i=0;i number[i]='\0';head->hour[i]='\0';head->inute[i]='\0';head->hour[i]='\0';head->inute[i]='\0';head->start_station[i]='\0';head->end_station[i]='\0';head->type[i]='\0';head->price[i]='\0';}p=head;for(i=1;i number));printf("请输入起飞时间(时 分):");scanf("%s %s",&(p->hour),&(p->inute));printf("请输入达到时间(时 分):");scanf("%s %s",&(p->hour),&(p->inute));printf("请输入起点站 终点站:");scanf("%s %s",&(p->start_station),&(p->end_station));printf("请输入飞机型号:");scanf("%s",&(p->type));printf("请输入票价:");scanf("%s",&(p->price));printf("\n");q=(NODE*)malloc(sizeof(NODE));p->link=q;p=q;}printf("请输入航班号:");scanf("%s",&(p->number));printf("请输入起飞时间(时 分):");scanf("%s %s",&(p->hour),&(p->inute));printf("请输入达到时间(时 分):");scanf("%s %s",&(p->hour),&(p->inute));printf("请输入起点站 终点站:");scanf("%s %s",&(p->start_station),&(p->end_station));printf("请输入飞机型号:");scanf("%s",&(p->type));printf("请输入票价:");scanf("%s",&(p->price));printf("\n");getchar();p->link=NULL;return(head);}void insert(NODE **p_head,NODE *q){NODE *p;if(*p_head==NULL)*p_head=q;else{p=*p_head;while(p!=NULL&&p->link!=NULL)p=p->link;p->link=q;}}unsigned int countit(NODE* n)//计算链表长度{ unsigned int counti = 0; while(n!=NULL) counti++,n=n->link; return counti;}NODE* getindex(NODE* head, int num);NODE* getindex(NODE* head, int num)//取得index为num 的节点!{ if(num<0 || num>countit(head)) return NULL; NODE* rn = head; while(--num>0) rn = rn->link; return rn;}int binSearch(NODE* n,char *strinput,int low, int high)// 二分查找{ int i; int middle = (high+low)/2; if (high < low) return 0; if ((i=strcmp(strinput, n->number)) <0) high= middle; else if (i > 0) low = middle; else { i = middle; return i; } binSearch(getindex(n,middle),strinput,low,high);}int bisect(char a[],int n,char s[MAXN])//二分查找{int i,j,m;i=0;j=n-1;while(i <=j){m=(i+j)/2;}return(-1);}NODE *search1(NODE *head,char v[MAXN])//起点站顺序查找{for(;head!=NULL&&strcmp(head->start_station,&v[0]);head=head->link);return(head);}NODE *search2(NODE *head,char w[MAXN])//到达站顺序查找{for(;head!=NULL&&strcmp(head->end_station,&w[0]);head=head->link);return(head);}NODE *search3(NODE *head,char x[MAXN],char y[MAXN])//起飞时间顺序查找{for(;head!=NULL&&(strcmp(head->hour,&x[0]) || strcmp(head->inute,&y[0]));head=head->link);return(head);}NODE *search4(NODE *head,char t[MAXN],char u[MAXN])//到达时间顺序查找{for(;head!=NULL&&(strcmp(head->hour,&t[0]) || strcmp(head->inute,&u[0]));head=head->link);return(head);}void output(NODE *p){ while(p!=NULL) { printf("航班信息:\n"); printf("航班号:%s\n",p->number); printf("起飞时间:%s点%s分,",p->hour,p->inute); printf("到达时间:%s点%s分\n",p->hour,p->inute); printf("起点站:%s,",p->start_station); printf("到达站:%s\n",p->end_station); printf("飞机型号:%s ",p->type); printf("票价:%s元\n\n",p->price); p=p->link; }}NODE *rank( NODE *head){ NODE *q=0,*p=0,*t,*h1; h1=head->link; head->link=NULL; while(h1!=NULL) { t=h1; h1=h1->link; p=head; q=head; while( p!=NULL && strcmp(t->number, p->number)>0 ) { q=p; p=p->link; } if(q == p) { t->link=p; head=t; } else { t->link=p; q->link=t; } } return head;}int main(int argc, char* argv[]){ NODE *p,*q,*r; int a,b,i,j,n; int count=0; char o[MAXN]; char s[MAXN]; char v[MAXN]; char w[MAXN]; char x[MAXN]; char y[MAXN]; char t[MAXN]; char u[MAXN]; for(i=0;i 成功!\n"); r=search1(p,&v[MAXN]); output(r); } else printf("查询失败,该信息录中没有该起点站!\n"); break; case 3: printf("请输入到达站"); scanf("%s",&w[MAXN]); if(search2(p,&w[MAXN])!=NULL) { printf("查询成功!\n"); r=search2(p,&w[MAXN]); output(r); } else printf("查询失败,该信息录中没有该到达站!\n"); break; case 4: printf("请输入起飞时间(时 分)"); scanf("%s %s",&x[MAXN],&y[MAXN]); if(search3(p,&x[MAXN],&y[MAXN])!=NULL) { printf("查询成功!\n"); r=search3(p,&x[MAXN],&y[MAXN]); output(r); } else printf("查询失败,该信息录中没有该到达站!\n"); break; case 5: printf("请输入到达时间"); scanf("%s %s",&t[MAXN],&u[MAXN]); if(search4(p,&t[MAXN],&u[MAXN])!=NULL) { printf("查询成功!\n"); r=search4(p,&t[MAXN],&u[MAXN]); output(r); } else printf("查询失败,该信息录中没有该到达站!\n"); break; } break; case 5: output(p); printf("\n"); break; case 6: return(0); } } return(0);}

303 评论

芳宝女郎

#include#include#include#define OK 1#define TRUE 1#define FALSE 0#define ERROR 0#define OVERFLOW -2#define PR printftypedef int status;typedef struct airline{ char line_num[8];//航班号 char plane_num[8];//飞机号 char end_place[20];//目的的 int total;//座位总数 int left;//剩余座位 struct airline *next;//下一个结点}airline;typedef struct customer{ char name[9];//顾客名 char line_num[8];//航班号 int seat_num;//座位号 struct customer *next;//下一个结点}customer;airline *init_airline(){//初始化链表 airline *l; l=(airline*)malloc(sizeof(airline)); if(l==NULL){ exit(0); } l->next=NULL; return l;}customer * init_customer(){//初始化链表 customer *l; l=(customer*)malloc(sizeof(customer)); if(l==NULL){ exit(0); } l->next=NULL; return l;}status insert_airline(airline **p,char *line_num,char *plane_num,char *end_place,int total,int left){//airline链表插入操作 airline *q; q=(airline*)malloc(sizeof(airline)); strcpy(q->line_num , line_num); strcpy(q->plane_num , plane_num); strcpy(q->end_place , end_place); q->total =total; q->left =left; q->next=NULL; (*p)->next=q; (*p)=(*p)->next; // PR("insert %d ,%dis succssed!\n",e,bl); return OK; }status insert_customer(customer **p,char *name,char *line_num,int seat){//customer链表插入操作 customer *q; q=(customer*)malloc(sizeof(customer));/* { PR("内存分配失败\n"); return OVERFLOW; }*/ strcpy(q->name , name); strcpy(q->line_num , line_num); q->seat_num =seat; q->next=NULL; (*p)->next=q; (*p)=(*p)->next; // PR("insert %d ,%dis succssed!\n",e,bl); return OK; }airline *modefy_airline(airline *l,char *line_num)//修改airline链表中的数据{ airline *p; p=l->next ; for(;p!=NULL;p=p->next ) { if(strcmp(line_num,p->line_num )==0) { p->left ++; // PR("modefy %s\n",p->line_num ); return l; } } PR("没有这个航班,无法完成修改任务!\n"); return 0;}status delete_airline(airline *h,char *line_num)//删除航班{ airline *p,*pr; pr=h; p=pr->next ; while(p!=NULL) { if(strcmp(line_num,p->line_num )==0) { pr->next =p->next ; PR("删除 %s 航班\n",p->line_num ); return OK; } pr=pr->next ; p=pr->next ; } PR("无此航班,无法删除!\n"); return ERROR;}status delete_customer(customer *h,char *line_num)//删除顾客{ customer *p,*pr; pr=h; p=pr->next ; while(p!=NULL) { if(strcmp(line_num,p->line_num )==0) { pr->next =p->next ; } pr=pr->next ; p=pr->next ; }// PR("无此航班,无法删除!\n"); return OK;}status delete_cus(customer *h,airline *l,char *name)//顾客退票{ customer *p,*pr; char line_num[8];// qr=h; pr=h; p=pr->next ;// PR("开始删除\n"); while(p!=NULL) { if(strcmp(name,p->name )==0) { strcpy(line_num,p->line_num ); l=modefy_airline(l,line_num); pr->next =p->next ; PR("顾客 %s 退票成功!\n",p->name ); return OK; } pr=pr->next ; p=pr->next ; } PR("无此顾客,无法退票!\n"); return ERROR;}status save_airline(airline *l)//保存dat{ FILE *fp_airline; char ch='#'; airline *p=l->next ; char filename[]="c:\\dat"; if((fp_airline=fopen(filename,"wb"))==NULL) { printf("can not open file to write:%s\n",filename); return ERROR; } for(;p!=NULL;p=p->next ) { // printf("%s,%s,%s,%d,%d\n",p->line_num ,p->plane_num ,p->end_place ,p->total ,p->left ); fprintf(fp_airline,"%s,%s,%s,%d,%d%c\n",p->line_num ,p->plane_num ,p->end_place ,p->total ,p->left ,ch); } fclose(fp_airline); return OK;}status save_customer(customer *l)//保存顾客信息 dat{ FILE *fp_customer; char ch='#'; customer *p=l->next ; char filename[]="c:\\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 ) { // PR("%s,%s,%d\n",p->name ,p->line_num ,p->seat_num ); fprintf(fp_customer,"%s,%s,%d%c",p->name ,p->line_num ,p->seat_num ,ch); } fclose(fp_customer); return OK;} int changStrInt(char *ch)//把字符串转化为整型{ int a=1,b=0,c=0,i; for (i=strlen(ch)-1;i>=0;i--) { if (ch[i]<58&&ch[i]>47) { b=a*(ch[i]-48); a=a*10; c=c+b; } else { PR("%c 不合法,无法将此字符串转化为整形!\n",ch[i]); return 0; }// printf("the c is %d\n",c); } return c;}status insert_air(airline *l,char *line_num,char *plane_num,char *end_place,int total,int left){//airline链表插入操作 airline *q; q=(airline*)malloc(sizeof(airline)); strcpy(q->line_num , line_num); strcpy(q->plane_num , plane_num); strcpy(q->end_place , end_place); q->total =total; q->left =left; q->next=l->next ; l->next=q; // PR("insert %d ,%dis succssed!\n",e,bl); return OK; }status insert_cus(customer *l,char *name,char *line_num,int seat){//customer链表插入操作 customer *q; q=(customer*)malloc(sizeof(customer)); strcpy(q->name , name); strcpy(q->line_num , line_num); q->seat_num =seat; q->next=l->next ; l->next=q; return OK; }status load_airline(airline *l){ FILE *fp_airline; int flag=0,i=0; char ch; char line_num[8];//航班号 char plane_num[8];//飞机号 char end_place[20];//目的的 char total_str[5]; char left_str[5]; int total;//座位总数 int left;//剩余座位 // airline *p=l; char filename[]="c:\\dat"; if((fp_airline=fopen(filename,"rb"))==NULL) { printf("can not open file to load:%s\n",filename); return ERROR; } while(!feof(fp_airline)) { ch=fgetc(fp_airline); if(ch!='#') { if(flag==0&&ch!=',') { line_num[i]=ch; i++; } else if(flag==1&&ch!=',') { plane_num[i]=ch; i++; } else if(flag==2&&ch!=',') { end_place[i]=ch; i++; } else if(flag==3&&ch!=',') { total_str[i]=ch; i++; } else if(flag==4&&ch!=',') { left_str[i]=ch; i++; } else if (ch==',') { flag++; i=0; } /* else { PR("错误\n"); return ERROR; }*/ } else { flag=0; i=0; total=changStrInt(total_str); left=changStrInt(left_str); PR("%8s%8s%8s%9d%9d\n",line_num ,plane_num ,end_place ,total ,left ); insert_air(l,line_num,plane_num,end_place,total,left); } } fclose(fp_airline); return OK;} status load_customer(customer *l){ FILE *fp_customer; int flag=0,i=0; char ch; char name[9]; char line_num[8];//航班号 char seat_num_str[5]; int seat_num;//座位 // customer *p=*l; char filename[50]="c:\\dat"; if((fp_customer=fopen(filename,"rb"))==NULL) { printf("can not open file to load:%s\n",filename); return ERROR; } while(!feof(fp_customer)) { ch=fgetc(fp_customer); printf("%c\n",ch); if(ch!='#') { if(flag==0&&ch!=',') { name[i]=ch; i++; } else if(flag==1&&ch!=',') { line_num[i]=ch; i++; } else if(flag==2&&ch!=',') { seat_num_str[i]=ch; i++; } else if (ch==',') { flag++; i=0; } else { PR("错误\n"); return ERROR; } } else { flag=0; seat_num=changStrInt(seat_num_str); PR("%10s %10s %d\n",name ,line_num ,seat_num ); insert_cus(l,name,line_num,seat_num);// p=p->next ; } } fclose(fp_customer); return OK;}status creat_airline(airline **l)//创建airline单链表{ airline *p=*l; int i=0; char *line_num[3]={"bjnc01","bjsh02","shgz03"}; char *plane_num[3]={"plane1","plane2","plane3"}; char *end_place[3]={"nc","sh","gz"}; int total[3]={100,100,100}; int left[3]={51,50,78}; for (i=0;i<3;i++){ insert_airline(&p,line_num[i],plane_num[i],end_place[i],total[i],left[i]); } return OK;}status creat_customer(customer **l)////创建customer单链表{ customer *p=*l; int i=0; char *name[3]={"ouyangj0","yhl","fs"}; char *line_num[3]={"bjnc01","bjsh02","shgz03"}; int seat_num[3]={1,5,10}; for (i=0;i<3;i++){ insert_customer(&p,name[i],line_num[i],seat_num[i]); } return OK;}status increase_air(airline *l,char *line_num,char *plane_num,char *end_place,int total)//增加航线{ airline *p=l->next ; for(;p->next !=NULL;p=p->next){} insert_airline(&p,line_num,plane_num,end_place,total,total); PR("增加航班 %s 成功!\n",line_num); return OK;}status book(airline *l,char *line_num,customer *c,char *name)//订票{ airline *p=l; customer *q=c->next ; p=l->next ; for(;q->next !=NULL;q=q->next){} // PR("%s\n",q->name ); for(;p!=NULL;p=p->next ) { if(strcmp(line_num,p->line_num )==0) { if(p->left >0) { PR("恭喜您!订票成功!\n"); PR("你的座位号是: %d\n",(p->total -p->left +1)); insert_customer(&q,name,line_num,p->total -p->left +1); p->left --; return OK; } else PR("对不起,座位已满!\n"); return 0; } } PR("对不起,没有这个航班号!\n"); return ERROR;}status print_airline(airline *l)//打印航线信息{ airline *p=l->next ; for(;p!=NULL;p=p->next ) { PR("%8s%8s%8s%9d%9d\n",p->line_num ,p->plane_num ,p->end_place ,p->total ,p->left ); } return OK;}status print_customer(customer *l)//打印顾客信息{ customer *p=l->next ; for(;p!=NULL;p=p->next ) { PR("%10s %10s %d\n",p->name ,p->line_num ,p->seat_num ); } return OK;} void main(){ char choice,choice2,name[9],line_num[8],password[9],plane_num[8],end_place[9]; char pass[9]="wj024",re_pass_1[9],re_pass_2[9]; int t=1,tt=1,total; airline *air=init_airline(); customer *cus=init_customer(); PR(" 微机024班 数据结构 课程设计 (一)\n"); PR(" 航空订票系统\n"); PR(" 小组成员:欧阳锦林,王峰,段静缘\n"); creat_airline(&air); creat_customer(&cus);// save_airline(air);// save_customer(cus); while(t==1) { PR("*----------------------------*\n"); PR("*--航空订票系统选择菜单------*\n"); PR("* 订票-------0 *\n"); PR("* 退票-------1 *\n"); PR("* 查询-------2 *\n"); PR("* 修改航线---3 *\n"); PR("* 读入文件---4 *\n"); PR("* 退出-------5 *\n"); PR("*----------------------------*\n"); PR("请选择: "); choice = getch(); PR("%c\n",choice); if(choice=='0') { PR("请输入你要订的航班号: "); scanf( "%s",line_num); PR("请输入你的姓名: "); scanf( "%s",name); book(air,line_num,cus,name); save_airline(air); save_customer(cus); } else if(choice=='1') { PR("\n请输入你的姓名: "); scanf( "%s",name); delete_cus(cus,air,name); save_airline(air); save_customer(cus); } else if(choice=='2') { PR("\n 航班号 飞机号 目的地 总票数 余票数\n"); print_airline(air); PR(" 姓名 航班号 座位号\n"); print_customer(cus); } else if(choice=='3') { tt=1; PR("请输入密码: "); scanf("%s",password); if(strcmp(password,pass)==0) { while (tt==1){ PR("\n*------------------------------*\n"); PR("*-------航线信息修改:----------*\n"); PR("* 增加航班号-----'0' *\n"); PR("* 删除航班号-----'1' *\n"); PR("* 修改密码-------'2' *\n"); PR("* 查询航线信息---'3' *\n"); PR("* 退出航线修改---'4' *\n"); PR("*------------------------------*\n"); PR("请选择: "); choice2=getch(); PR("%c\n",choice2); if(choice2=='0') { PR("请输入你要增加的航班号: "); scanf("%s",line_num); PR("请输入飞机号: "); scanf("%s",plane_num); PR("请输入目的地: "); scanf("%s",end_place); PR("请输入座位总数: "); scanf("%d",&total); increase_air(air,line_num,plane_num,end_place,total); save_airline(air); save_customer(cus); } else if (choice2=='1') { PR("请输入你要删除的航班号: "); scanf("%s",line_num); delete_airline(air,line_num); delete_customer(cus,line_num); save_airline(air); save_customer(cus); } else if(choice2=='2') { PR("注意:密码不能超过8位!\n"); PR("请输入新密码:"); scanf("%s",re_pass_1); PR("请再输入一次: "); scanf("%s",re_pass_2); if(strcmp(re_pass_1,re_pass_2)==0) { strcpy(pass,re_pass_1); PR("密码修改成功!请记住\n"); } else { PR("你两次输入的密码不一致!\n"); } } else if(choice2=='3') { PR("\n 航班号 飞机号 目的地 总票数 余票数\n"); print_airline(air); } else if(choice2=='4') { tt=0; } else { PR("你的输入有误\n"); tt=0; } }//end while }//end if else { PR("对不起!你输入的密码不正确!\n"); } }//end else if 修改 else if(choice=='4') { load_airline(air); load_customer(cus); } else if(choice=='5') { PR("再见!"); t=0; } else { PR("你的输入有误\n"); } } getch();}

278 评论

索邦大学

可实现全国范围的联网快速查询和身份识别。由于“二代证”证件信息的存储和证件查询采用数据库技术和网络技术,大大提高了查询和识别的速度,并可实现公安机关与各行政管理部门的网络互查,实现信息共享,加强社会管理,同时也有利于为群众提供服务。

209 评论

国美京华城

这个毕业设计比较简单了,代码都是写出来了 思路可以给你地

302 评论

相关问答

  • 飞机航班信息查询系统论文

    好复杂哦

    chenjialu1988 6人参与回答 2024-06-10
  • 论文期刊信息查询系统

    在国家新闻出版总署可以查的。还有在学术网站也可以。首先你看给你介绍的期刊是哪个学术网站收录的,其他去对应的学术网站上查询电话,正常情况下都可以查稿的。收到期刊以

    江秀梅+刘洋 3人参与回答 2024-06-10
  • 科技信息论文查询系统

    中国国家图书馆有一个PQDD博硕士论文数据库(1861-),该库由美国国会图书馆指定的收藏全美国博硕士论文的分馆、加拿大国家图书馆指定的收藏全加拿大博硕士论文的

    快到碗里吧吧吧 2人参与回答 2024-06-12
  • 期刊信息查询系统

    《中国期刊全文数据库》检索系统使用帮助●导航区 ●初级检索 ●高级检索 ●细览区 ●检索词字典导航区 TOP本系统提供了CNKI知识仓库分类。CNKI知识仓库分

    Jingelababy今 2人参与回答 2024-06-12
  • 杂志信息查询系统

    SCI、EI、ISTP一般是这三个,国际三大检索系统。

    创艺麦香包 3人参与回答 2024-06-11