資料結構課程設計 航班資訊查詢與檢索系統

2021-07-16 15:38:13 字數 2803 閱讀 6971

一、設計題目

設計乙個航班資訊查詢與檢索系統。

二、基本要求

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結構的商業應用程式,程式為使用者提供...