编码及测试报告_第1页
编码及测试报告_第2页
编码及测试报告_第3页
编码及测试报告_第4页
编码及测试报告_第5页
已阅读5页,还剩83页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、精选优质文档-倾情为你奉上华中科技大学软件工程大型作业报告题目:航班时刻表信息查询系统 院 系 :计算机科学与技术 专 业 :计算机科学与技术 班 级 : 计算机1101班 组 员 :陈自超 U 组 员 :金丽娜 U 指导老师 : 文坤梅 2014 年 01月 10 日专心-专注-专业任务分配主要任务负责人需求规格说明书金丽娜概要设计说明书金丽娜详细设计说明书陈自超编码及测试报告陈自超目 录任务分配- 需求规格说明书-概要设计说明书-详细设计说明书-编码及测试报告-编码实现和测试编码实现.(460)1、引言.601、1编写目的.601、2项目背景.601、3定义.601、4参考资料.602 计

2、划.612.1 软件说明.612.2测试内容.622.3航班插入.632.4机场插入.642.5经停航班插入.652.6机场查询.672.7航班查询.682.8航班修改.682.9机场修改.702.10经停航班修改.712.11航班删除.722.12机场删除.732.13经停航班删除.732.14余票统计.732.15价格统计.733 评价准则.733.1 范围.733.2 整理.733.3 尺度.744 测试分析报告.75编码实现附录: 附录I 源程序清单/*飞机航班查询系统2012年10月*/#include #include #include #include #include #def

3、ine SCR_ROW 25 /*屏幕行数*/#define SCR_COL 80 /*屏幕列数*/*帐号密码信息链结点结构*/typedef struct ip_node char id15; /*帐号*/ char password15; /*密码*/ struct ip_node *next; IP;/*航班信息链结点结构*/typedef struct flight_nodechar flight_number10; /*航班编号*/char aircraft_model20; /*客机名称*/char flight_corp_number10; /*所属航空公司编号*/char fl

4、ight_corp_name20; /*所属航空公司名称*/char initial10; /*始发地*/char terminal10; /*目的地*/char begin_time10; /*始发时间*/char end_time10; /*到达终点时间*/float one_price; /*单程票价*/float round_price; /*来回票价*/char full_time10; /*全程时间*/int mileage; /*飞行里程*/struct flight_node *next; /*指向下一结点*/struct stop_airport_node * anext;

5、/*指向经停机场信息链结点的指针*/ FLIGHT_NODE;/*经停机场信息链结点结构*/typedef struct stop_airport_nodechar airport_number10; /*机场编号*/char airport_name20; /*机场名称*/char regional_number10; /*所属地域编号*/char flight_number10; /*航班编号*/char arrive_time10; /*到达时间*/char leave_time10; /*离开时间*/char cur_time10; /*到目前为止飞行时间*/int cur_milea

6、ge; /*到目前为止飞行里程*/struct stop_airport_node *next; /*指向下一节点*/struct stop_flight_node *fnext; /*指向经停航班信息结点的指针*/ STOP_AIRPORT_NODE;/*经停航班信息链结点结构*/typedef struct stop_flight_nodechar flight_number10; /*经停航班编号*/char aircraft_model20; /*经停客机型号*/char airport_number10; /*机场编号*/char regional_number10; /*所属地域编

7、号*/char flight_type20; /*航班类型:始发-经停-终到*/char arrive_time10; /*到达时间*/char leave_time10; /*离开时间*/float cur_one_price; /*本机场到终点单程票价*/float cur_round_price; /*本机场到终点来回票价*/int surplus_ticket; /*余票数量*/struct stop_flight_node *next;/*指向下一个结点*/ STOP_FLIGHT_NODE;/*屏幕窗口信息链结点结构*/typedef struct layer_node char

8、LayerNo; /*弹出窗口层数*/ SMALL_RECT rcArea; /*弹出窗口区域坐标*/ CHAR_INFO *pContent; /*弹出窗口区域字符单元原信息存储缓冲区*/ char *pScrAtt; /*弹出窗口区域字符单元原属性值存储缓冲区*/ struct layer_node *next; /*指向下一结点的指针*/ LAYER_NODE;/*标签束结构*/typedef struct label_bundle char *ppLabel; /*标签字符串数组首地址*/ COORD *pLoc; /*标签定位数组首地址*/ int num; /*标签个数*/ LAB

9、EL_BUNDLE;/*热区结构 */typedef struct hot_area SMALL_RECT *pArea; /*热区定位数组首地址*/ char *pSort; /*热区类别(按键、文本框、选项框)数组首地址*/ char *pTag; /*热区序号数组首地址*/ int num; /*热区个数*/ HOT_AREA;/*主菜单名数组*/char *ga_main_menu = 文件(F), 编辑(E),查询(I),统计(S),帮助(H);/*子菜单名数组*/char *ga_sub_menu = S 数据保存, L 数据加载,A 数据备份,F 恢复备份,X 退出 Alt+X

10、, 1插入航班,2修改航班,3删除航班, , 4插入机场,5修改机场,6删除机场, , 7插入经停航班,8修改经停航班,9删除经停航班 , F 航班查询, A 机场查询, C 模糊查询 , S 余票统计, P 价格统计 , T 帮助主题 F1,A 关于系统, C 清屏 Alt+C;char * gp_scr_att = NULL; /*存放屏幕上字符单元属性值的缓冲区*/int ga_sub_menu_count = 5, 11, 3, 2, 3; /*各主菜单项下子菜单的个数*/int gi_sel_menu = 1; /*被选中的主菜单项号,初始为1*/int gi_sel_sub_men

11、u = 0; /*被选中的子菜单项号,初始为0,表示未选中*/char * FileName3=Flight.txt,Airport.txt,RefFlight.txt;/*航班,经停机场,经停航班基础信息保存文件*/char * BeiFen_FileName3=BFflight.txt,BFairport.txt,BFrefflight.txt;/*航班,经停机场,经停航班基础信息备份文件*/char * IP_FileName=Ip.txt;/*帐号密码信息保存文件*/HANDLE gh_std_out; /*标准输出设备句柄*/HANDLE gh_std_in; /*标准输入设备句柄*

12、/FLIGHT_NODE* gp_head = NULL; /*主链头指针*/LAYER_NODE * gp_top_layer = NULL; /*弹出窗口信息链链头*/CHAR_INFO * gp_buff_menubar_info = NULL; /*存放菜单条屏幕区字符信息的缓冲区*/DWORD len; /*指向变量的指针,用来存放字符的实际数目*/IP * ip_head = NULL;/*帐号密码链表的链头*/*框架函数的声明*/void TextInterface(void);/*系统界面初始化*/void ClearScreen(void); /*清屏*/void ShowM

13、enu(void); /*显示主菜单栏*/void PopMenu(int num); /*弹出下拉菜单*/void PopOn(SMALL_RECT *, WORD, LABEL_BUNDLE *, HOT_AREA *); /*弹出窗口屏幕信息维护*/void PopOff(void); /*关闭弹出窗口*/void DrawBox(SMALL_RECT *parea); /*绘制子菜单边框*/void LocateSubMenu(int num, SMALL_RECT *parea); /* 弹出菜单定位*/void MarkMainMenu(int num); /* 标记被选中的主菜单

14、项*/void MarkSubMenu(int num); /* 标记被选中的子菜单项*/void SetMainHotArea(void); /* 给主菜单栏设置热区*/void RunSystem(void); /* 系统功能模块的选择和运行*/void CloseSys(FLIGHT_NODE *hd); /* 关闭系统并退出*/void ShowTime(void); /* 动态显示系统时间*/inline void Gotoxy(COORD pos);/* 将光标置于坐标pos处*/inline void Delay(void);/* 时间暂延0.05s*/inline void S

15、creenFresh(void);/* 刷屏函数*/void Start(void);/* 进入欢迎界面*/void Login(IP *head);/* 登入函数*/void PrintBox(void);/* 输出框架*/void Welcome(void); /* 登入注册界面*/void Register(IP *head);/* 注册新帐号*/void SaveIp(IP *head);/* 保存帐号密码数据.*/void LoadIp(IP *head);/* 载入帐号密码数据.*/void WriteKeyWord(char *str,COORD pos);/* 将关键字显示出来

16、*/int MyStrstr(char *s,char *t);/* 在s串中查找t串*/*功能函数的声明*/void InquireAirport(FLIGHT_NODE *phead,char *s);/*按机场查询*/void AutoInquire(FLIGHT_NODE * phead,char KeyWord);/*模糊查询*/void InquireFlight(FLIGHT_NODE *phead,char *s);/*按航班查询*/void LoadList(FLIGHT_NODE *phead,char *fn); /*加载链表中信息*/void SaveList(FLIG

17、HT_NODE *phead,char *fn); /*保存链表信息*/void StatisticalPrice(FLIGHT_NODE *phead);/*价格统计*/void StatisticalSeat(FLIGHT_NODE *phead);/*座位统计*/void TraverseList(FLIGHT_NODE * phead); /*遍历整个链表的信息*/void SetQuitHotArea(HOT_AREA *pHotArea, int iHot);/*设置退出系统时的热键*/int DealQuitInput(HOT_AREA *pHotArea, int *piHot

18、);/*处理退出系统是输入的信息*/*功能函数模块函数的声明*/BOOL ExeFunction(int main_menu_num, int sub_menu_num);BOOL SaveData(void);BOOL LoadData(void);BOOL BackupData(void);BOOL RestoreData(void);BOOL ExitSys(void);/*航班信息维护*/BOOL InsertFlight(void);/*插入航班信息*/void InsertFlightNode(FLIGHT_NODE *phead);/*插入航班结点*/BOOL DelFlight

19、(void);/*删除航班信息*/int DelFliNode(FLIGHT_NODE *phead,char *fli_num);/*删除航班结点*/BOOL ModifyFlight(void);/*修改航班信息*/int ModifyFliNode(FLIGHT_NODE *phead,char *fli_num,FLIGHT_NODE *pfli_node);/*修改航班结点*/*经停机场信息维护*/BOOL InsertAirport(void);/*插入经停机场信息*/int InsertairNode(FLIGHT_NODE *phead);/*插入经停机场结点*/STOP_AI

20、RPORT_NODE *SeekAirNode(FLIGHT_NODE *phead, char *air_num);/*查找经停机场结点*/BOOL ModifyAirport(void);/*修改经停机场信息*/int ModifyAirNode(FLIGHT_NODE *phead,char *air_num,STOP_AIRPORT_NODE *pair_node);/*修改经停机场结点*/BOOL DelAirport(void);/*删除经停机场信息*/int DelAirNode(FLIGHT_NODE *phead,char *air_num);/*删除经停机场结点*/*经停航

21、班信息维护*/BOOL InsertRefFlight(void);/*插入经停航班信息*/int InsertRefNode(FLIGHT_NODE *phead, STOP_FLIGHT_NODE *pref_node);/*插入经停航班结点*/STOP_FLIGHT_NODE *SeekRefNode(FLIGHT_NODE *phd,char *air_num, char *e_num);/*查找经停航班结点*/BOOL DelRefFlight(void);/*删除经停航班信息*/int DelRefNode(FLIGHT_NODE *phead,char *air_num, cha

22、r *e_num);/*删除经停航班结点*/BOOL ModifyRefFlight(void);/*修改经停航班信息*/int ModifyRefNode(FLIGHT_NODE *phead,char *air_num, char *e_num, STOP_FLIGHT_NODE *pref_node);/*修改经停航班结点*/BOOL AirportInquire(void);BOOL FlightInquire(void);BOOL InquireAuto(void);BOOL SeatStatistics(void);BOOL PriceStatistics(void);BOOL T

23、raverseData(void);BOOL Theme(void);BOOL AboutSys(void);BOOL Clear(void);/* Main函数.*/int main(void) LoadIp(&ip_head); /*加载帐号密码数据*/ Welcome(); /*首界面*/ TextInterface(); /*文本菜单界面初始化*/ LoadList(&gp_head,FileName); /*加载信息*/ RunSystem(); /*系统功能模块的选择及运行*/ SaveList(gp_head,FileName); /*保存信息*/CloseSys(gp_head

24、); /*关闭系统*/return 0;/* clock() );/* 将光标置于pos位置处*/inline void Gotoxy(COORD pos) gh_std_out = GetStdHandle(STD_OUTPUT_HANDLE); /*获取标准输出设备句柄*/SetConsoleCursorPosition(gh_std_out,pos); /*设置光标位置在pos处*/* 画框函数.*/void PrintBox(void) COORD pos=15,6; Gotoxy(pos); printf(n);Delay(); printf(%15s%44sn, , );Delay

25、(); printf(%15s%44sn, , );Delay(); printf(%15s%44sn, , );Delay(); printf(%15s%44sn, , );Delay(); printf(%15s%44sn, , );Delay(); printf(%15s%44sn, , );Delay(); printf(%15s%44sn, , );Delay(); printf(%15s%44sn, , );Delay(); printf(%15s%44sn, , );Delay(); printf(%15s%44sn, , );Delay(); printf(%15s%44sn,

26、 , );Delay(); printf(%15s%44sn, , );Delay(); printf(%15sn, );/*next; fclose(out);/*next=hp; hp=p; (*head)=hp;fclose(in);/*id);getchar(); Gotoxy(pos3); scanf(%s,p-password);getchar(); p-next=hp; hp=p; (*head)=hp;/* 登入注册界面*/void Welcome(void) char ch; ScreenFresh(); PrintBox(); COORD pos1=28,10,pos2=3

27、7,17; Gotoxy(pos1); printf( 快速登入 ); pos1.X=39; WriteKeyWord(L,pos1); printf(oginn); printf(%15s%12s-, , ); printf(nnn%15s%12s免费注册 , , ); pos1.Y=14; pos1.X=39; WriteKeyWord(R,pos1); printf(egistern); printf(%15s%11s-, , ); printf(nn%15s%18s , , );lop: Gotoxy(pos2); printf( b); ch=getchar(); fflush(st

28、din); if( ch= L | ch = l ) LoadIp(&ip_head); Login(ip_head); return; else if( ch= R | ch = r ) Register(&ip_head); SaveIp(ip_head); printf(nn%15s 恭喜你注册成功!自动跳转到登入界面., ); Sleep(3000); LoadIp(&ip_head); Login(ip_head); return; else printf(%15s%11s输入有误,请重新输入!, , ); Sleep(1000); goto lop; /* 登入系统.*/void

29、Login(IP *head) IP *p; int i,j=0; char ch, id20, pwd20; COORD pos1=32,9,pos2=36,11,pos3=36,14; ScreenFresh();lop: PrintBox(); Gotoxy(pos1);printf(【登入系统】nn); printf(%15s%8s请输入帐号:, , ); printf(n%15s%19s, , ); printf(nn%15st 请输入密码:, ); printf(n%15s%19s, , ); Gotoxy(pos2); scanf(%s,id); getchar(); Gotox

30、y(pos3); for (i = 0; i =0) ch=pwdi; printf(b b); fflush(stdin);/*吸收缓冲区多余的字符*/ else /*其他键*/ printf(%c,ch); Sleep(300); printf(b*); pwdi = ch; fflush(stdin); if(i=11) printf(nnn%15s%6s警告:密码不能超过10位,请重新输入!n, , ); Sleep(3000); ScreenFresh(); goto lop; pwdi = 0; p=head; while(p!=NULL) if (strcmp(id, p-id)

31、 = 0 & strcmp(pwd, p-password) = 0) ScreenFresh(); PrintBox(); Start(); return; p=p-next; printf(nn%15s%5s用户名不存在或密码错误,请重新输入!n, , ); printf(%15s 初始帐号密码:ID:wangtao PASSWORD:n, ); fflush(stdin); j+; if(j=3) printf(%15s密码错误超过三次,自动跳转到首界面注册新帐号!n, ); Sleep(5000); Welcome(); Sleep(3000); ScreenFresh(); goto

32、 lop;/* 刷屏函数.*/inline void ScreenFresh(void) COORD home = 0, 1; unsigned long size; int i; Gotoxy(home); for(i=0;i SCR_ROW; i+) printf(%80s, ); Sleep(35); Gotoxy(home);/* 开始进入系统欢迎界面.*/void Start(void) COORD pos=18,8; int goal; CONSOLE_CURSOR_INFO lpCur; Gotoxy(pos); printf(* * );Delay();printf( * *

33、);Delay();printf( * * );Delay();printf( * * );Delay(); printf( * * );Delay();printf( * * );Delay();printf( * *nn);Delay();printf(%15s%10s, , ); printf( );Delay();printf( 欢 );Delay();printf( 迎 );Delay();printf( 进 );Delay(); printf( 入 );Delay();printf( nn);Delay();printf(%15s, ); printf( 航 );Delay();printf( 班 );Delay();printf( 时 );Delay();printf( 刻 );Delay(); printf( 表 );Delay();printf( 查 );Delay();printf( 询 );Delay();printf( 系 );Delay(); pri

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论