一、設計題目
設計乙個航班資訊查詢與檢索系統。
二、基本要求
1、每個航班記錄包括八項:航班號、起始站、終點站、班期、起飛時間、到達時間、飛機型號、票價。
2、要有輸入模組
3、對航班資訊進行排序與查詢。
三、執行環境
cpu:奔騰3;作業系統:windows 98;程式設計工具:tc2.0。
四、演算法設計思想
1、設計思路
根據題目所要求,程式必須實現航班資訊的錄入和查詢。程式首先定義了乙個用於儲存航班資訊的資料型別,再由使用者錄入航班資料,在錄入的同時並對資料進行排序,最後執行資料查詢和檢索。在查詢設計中,使用二分查詢法對排好序的航班資料按航班號實現快速查詢,按起點站、終點站、起飛時間、到達時間查詢的則採用順序查詢方法。
2、流程圖
3、各函式說明
(1)、一趟數字字元分配函式
void distribute(slnode *sl,int i,arrtype_n f,arrtype_n e)
(2)、一趟數字字元收集函式
void collect(slnode *sl,int i,arrtype_n f,arrtype_n e)
(3)、一趟字母字元分配函式
void distribute_c(slnode *sl,int i,arrtype_c f,arrtype_c e)
(4)、一趟字母字元收集函式
void collect_c(slnode *sl,int i,arrtype_c f,arrtype_c e)
(5)、鏈式基數排序函式
void radixsort(sllist &l)
(6)、按指標鏈重新整理靜態鍊錶
void arrange(sllist &l)//重新整理
(7)、二分查詢函式
int binsearch(sllist l,keytype key)
(8)、順序查詢函式
void seqsearch(sllist l,keytype key,int i)
(9)、查詢檢索選單控制程式
void searchcon(sllist l)
(10)、錄入航班資料函式
void inputdata(sllist &l)
(11)、主函式
void main()
五、源**
#include "stdafx.h"
#include
#include
#define maxspace 100
#define keylen 7
#define radix_n 10
#define radix_c 26
typedef char keytype;
typedef struct
infotype;
typedef struct
slnode;
typedef struct
sllist;
typedef int arrtype_n[radix_n];
typedef int arrtype_c[radix_c];
void distribute(slnode *sl,int i,arrtype_n f,arrtype_n e)
for(p=sl[0].next;p;p=sl[p].next)
}void collect(slnode *sl,int i,arrtype_n f,arrtype_n e)
}sl[t].next=0;
}void distribute_c(slnode *sl,int i,arrtype_c f,arrtype_c e)
for(p=sl[0].next;p;p=sl[p].next)
}void collect_c(slnode *sl,int i,arrtype_c f,arrtype_c e)
}sl[t].next=0;
}void radixsort(sllist &l)//鏈式
for(i=1;i>=0;i--)
}void arrange(sllist &l) //重新整理
p=q;}}
int binsearch(sllist l,keytype key)
return 0;
}void seqsearch(sllist l,keytype key,int i)
if(k==0)
}if(m==0)
printf("* 無此航班資訊,可能是輸入錯誤! *\n");
printfn");
}void searchcon(sllist l)
{keytype key[keylen];
int i=1,k;
while(i>=1&&i<=5)
{printfn");
printf(" * 航班資訊查詢系統 *\n");
printfn");
printf(" * 1.航班號 *\n");
printf(" * 2.起點站 *\n");
printf(" * 3.終點站 *\n");
printf(" * 4.起飛時間 *\n");
printf(" * 5.到達時間 *\n");
printf(" * 0.退出系統 *\n");
printfn");
printf(" 請選擇(0-5):");
scanf("%d",&i);
printf("\n");
switch(i)
{case 1:printf("輸入要查詢的航班號(字母要大寫):");
資料結構課程實踐報告航班資訊查詢安排
哈爾濱理工大學管理學院資訊系 課程設計 資料結構 班級 資訊11 2班 姓名 學號 11060402 2103年6月30日 目錄第一章 設計要求 2 第二章 設計分析 3 第三章 演算法的實現 4 第四章 執行結果 6 資料結構課程實踐報告 航班資訊的查詢與探索 現在乘坐飛機旅行的人越來越多,人們要...
資料結構課程設計
指導書山東建築大學 電腦科學與技術學院 二 六年十二月 課程設計基本情況 課程名稱 資料結構課程設計 相關課程 c語言程式設計 visual c 程式設計 資料結構 適合專業 電腦科學與技術 網路工程 軟體工程 設計週數 2周 學分 2學分 開課學期 第4學期 開課單位 電腦科學與技術學院 一 課程...
資料結構課程設計
總結報告 專業軟體工程 班級軟體1007 學號 20103540 姓名 日期 2012.9.17 東北大學軟體學院 第一章需求分析 問題定義 實現乙個網上拍賣系統,根據需求描述和附加的框架 完成乙個網上拍賣系統。分析 整個系統執行於windows平台,是基於b s結構的商業應用程式,程式為使用者提供...