C语言航空订票系统程序目录第1章需求分析 (3)第2章概要设计 (4)第3章详细设计 (7)第4章运行结果及分析 (17)第5章课程设计心得 (23)参考文献 (25)第1章需求分析菜单是应用程序非常重要的组成部分,通过菜单,应用程序可以实现不同的功能,通过本系统的设计,可以实现应用程序的菜单。
(1)进入系统之前,用户输入1或者2,以不同身份进入系统,如果输入1和2以外的其他字符,则显示输入错误,请重新输入。
(2)用户以管理员身份进入,还需要输入密码,验证后正确,则进入系统;错误则提示密码错误,并返回主界面让用户重新选择身份。
(3)用户根据需要输入(0-5)或(0-4),若输入其他字符,则显示按键错误,请重新选择。
(4)用户选择(0-5)或(0-4)实现不同功能,如果要返回上级菜单界面,则需要按0返回。
第2章概要设计(1)为实现系统设计要求,我定义了7个自定义函数。
主函数从调用menu 开始。
首先用函数menu实现登录界面和判断用户的选择,框图如下:图2-1 类图我利用函数fn1实现管理员界面,函数fn1框图如下:图2-2 类图我利用函数fn2实现客户界面,函数fn2框图如下:图2-3 类图第3章详细设计/****************************************//*模块名称:Menu.c功能描述:实现菜单功能*/#include<stdio.h> /*输入输出函数的头文件*/void menu(); /*函数声明*/void fn1(); /*函数声明*/void fn2(); /*函数声明*/void dingpiao(); /*函数声明*/void tuipiao(); /*函数声明*/void watch(); /*函数声明*/void browseticket(); /*函数声明*/void change(); /*函数声明*/main() /*主函数*/{menu();}/****************************************************/ /*函数定义函数名称:menu功能描述: 实现主菜单功能的循环选择。
*/void menu(){ int a,i;printf("\n\n\n\n$---------------------------------$\n");printf(" | |\n"); printf(" | **欢迎进入民航管理系统** |\n"); printf(" | |\n"); printf("e---------------------------------e\n\n");printf("管理员进入请按1,客户进入请按2:");scanf("%d",&a);while(1){ if(a!=1&&a!=2){printf("输入错误,请重新输入");menu();}elsebreak;}if(a==1){ printf("请输入密码并以回车键结束:");scanf("%d",&i);if(i!=8888){printf("密码错误!\n请重新选择:");menu();}fn1();}elsefn2();}/****************************************************//*函数定义函数名称:fn1功能描述:实现管理员信息操作界面*/void fn1(){int j;printf("^_^管理员能查看和查询的航空信息^_^\n");printf("\n\n输入航班信息:\n\n");printf(" 1 订购机票<航班号以0结束输入>\n");printf(" 2 反退机票\n");printf(" 3 查看航班信息\n");printf(" 4 查询航班信息\n");printf(" 5 修改航班信息\n");printf(" 0 返回主界面\n");printf("请选择按键<0-5>:");scanf("%d",&j);if(j!=1&&j!=0&&j!=2&&j!=3&&j!=4&&j!=5){printf("您输入的选项不存在,请重新输入:");fn1();}else{switch(j){case 1:{dingpiao();fn1();break;}case 2:{tuipiao();fn1();break;}case 3:{watch();fn1();break;}case 4:{browseticket();fn1();break;}case 5:{change();fn1();break;}case 0:{printf("谢谢使用!\n ");menu();}}}}/****************************************************//*函数定义函数名称:fn2功能描述:实现客户信息操作界面*/void fn2(){ int k;printf("^_^客户能查看和查询的航空信息^_^\n");printf("\n\n输入航班信息:\n\n");printf(" 1 订购机票<航班号以0结束输入>\n");printf(" 2 反退机票\n");printf(" 3 查看航班信息\n");printf(" 4 查询航班信息\n");printf(" 0 返回主界面\n");printf("请选择按键<0-4>:");scanf("%d",&k);if(k!=1&&k!=0&&k!=2&&k!=3&&k!=4){printf("您输入的选项不存在,请重新输入:");fn2();}else{switch(k){case 1:{dingpiao();fn2();break;}case 2:{tuipiao();fn2();break;}case 3:{watch();fn2();break;}case 4:{browseticket();fn2();break;}case 0:{printf("谢谢使用!\n ");menu();}}}}/****************************************************//*函数定义函数名称:dingpiao功能描述:实现订票*/void dingpiao(){ int b;printf("欢迎您订购航空公司的飞机票!\n非常感谢!\n我们将为您提供优质服务!");printf(" 0 返回上级菜单\n请选择按键:");while(1){scanf("%d",&b);if(b==0)break;elseprintf(“\n输入错误,请重新输入”);}}/****************************************************//*函数定义函数名称:tuipiao功能描述:实现反退*/void tuipiao(){ int b;printf("您现在可以返退机票!\n非常感谢!\n我们将为您提供优质服务");printf(" 0 返回上级菜单\n请选择按键:");while(1){scanf("%d",&b);if(b==0)break;elseprintf(“\n输入错误,请重新输入”);}}/****************************************************//*函数定义函数名称:watch功能描述:实现查看航班信息*/void watch(){ int b;printf("您现在可以查看航班信息!\n非常感谢!\n我们将为您提供优质服务");printf(" 0 返回上级菜单\n请选择按键:");while(1){scanf("%d",&b);if(b==0)break;elseprintf(“\n输入错误,请重新输入”);}}/****************************************************//*函数定义函数名称:browseticket功能描述:实现查询航班信息*/void browseticket(){ int b;printf("您现在可以查询航班信息!\n非常感谢!\n我们将为您提供优质服务");printf(" 0 返回上级菜单\n请选择按键:");while(1){scanf("%d",&b);if(b==0)break;elseprintf(“\n输入错误,请重新输入”);}}/****************************************************//*函数定义函数名称:change功能描述:实现修改航班*/void change(){ int b;printf("您现在可以修改航班信息!\n非常感谢!\n我们将为您提供优质服务");printf(" 0 返回上级菜单\n请选择按键:");while(1){scanf("%d",&b);if(b==0)break;elseprintf(“\n输入错误,请重新输入”);}}第四章运行结果及分析图4-1 运行界面图如果是管理员进入系统则输入“1”(如图4-1所示),然后输入密码。