1C语言航空订票系统程序22目录第1章需求分析............................3第2章概要设计............................4第3章详细设计............................7第4章运行结果及分析.....................17第5章课程设计心得.......................23参考文献.....................................253第1章需求分析菜单是应用程序非常重要的组成部分,通过菜单,应用程序可以实现不同的功能,通过本系统的设计,可以实现应用程序的菜单。(1)进入系统之前,用户输入1或者2,以不同身份进入系统,如果输入1和2以外的其他字符,则显示输入错误,请重新输入。(2)用户以管理员身份进入,还需要输入密码,验证后正确,则进入系统;错误则提示密码错误,并返回主界面让用户重新选择身份。(3)用户根据需要输入(0-5)或(0-4),若输入其他字符,则显示按键错误,请重新选择。(4)用户选择(0-5)或(0-4)实现不同功能,如果要返回上级菜单界面,则需要按0返回。24第2章概要设计(1)为实现系统设计要求,我定义了7个自定义函数。主函数从调用menu开始。首先用函数menu实现登录界面和判断用户的选择,框图如下:图2-1类图a!=1&&a!=2开始输出主界面并让用户选择让用户从键盘上输入一个数a显示出错a==1运行函数fn1运行函数fn25我利用函数fn1实现管理员界面,函数fn1框图如下:图2-2类图开始定义变量i,j请用户输入密码(8888)i!=8888显示出错返回,运行函数menu输出管理员界面信息和可做的选择并让用户选择输入一个数jj!=1,2,3,4,5,0显示出错j=1运行函数dingpiaoj=2运行函数tuipiaoj=3运行函数watchj=4运行函数browseticketj=5运行函数changej=0运行函数menu输入提示语输入提示语输入提示语输入提示语输入提示语26我利用函数fn2实现客户界面,函数fn2框图如下:图2-3类图开始输出客户界面信息和可做的选择并让用户选择输入一个数kk!=1,2,3,4,0显示出错k=1运行函数dingpiaok=2运行函数tuipiaok=3运行函数watchk=4运行函数browseticketk=0运行函数menu()输入提示语输入提示语输入提示语输入提示语7第3章详细设计/****************************************//*模块名称:Menu.c功能描述:实现菜单功能*/#includestdio.h/*输入输出函数的头文件*/voidmenu();/*函数声明*/voidfn1();/*函数声明*/voidfn2();/*函数声明*/voiddingpiao();/*函数声明*/voidtuipiao();/*函数声明*/voidwatch();/*函数声明*/voidbrowseticket();/*函数声明*/voidchange();/*函数声明*/main()/*主函数*/{menu();}/****************************************************//*函数定义函数名称:menu功能描述:实现主菜单功能的循环选择。*/voidmenu(){inta,i;printf(\n\n\n\n28$---------------------------------$\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();9}elsefn2();}/****************************************************//*函数定义函数名称:fn1功能描述:实现管理员信息操作界面*/voidfn1(){intj;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();}210else{switch(j){case1:{dingpiao();fn1();break;}case2:{tuipiao();fn1();break;}case3:{watch();fn1();break;}case4:{browseticket();fn1();break;}case5:{change();fn1();break;}case0:{11printf(谢谢使用!\n);menu();}}}}/****************************************************//*函数定义函数名称:fn2功能描述:实现客户信息操作界面*/voidfn2(){intk;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();212}else{switch(k){case1:{dingpiao();fn2();break;}case2:{tuipiao();fn2();break;}case3:{watch();fn2();break;}case4:{browseticket();fn2();break;}case0:{printf(谢谢使用!\n);menu();}13}}}/****************************************************//*函数定义函数名称:dingpiao功能描述:实现订票*/voiddingpiao(){intb;printf(欢迎您订购航空公司的飞机票!\n非常感谢!\n我们将为您提供优质服务!);printf(0返回上级菜单\n请选择按键:);while(1){scanf(%d,&b);if(b==0)break;elseprintf(“\n输入错误,请重新输入”);}}/****************************************************//*函数定义函数名称:tuipiao功能描述:实现反退*/214voidtuipiao(){intb;printf(您现在可以返退机票!\n非常感谢!\n我们将为您提供优质服务);printf(0返回上级菜单\n请选择按键:);while(1){scanf(%d,&b);if(b==0)break;elseprintf(“\n输入错误,请重新输入”);}}/****************************************************//*函数定义函数名称:watch功能描述:实现查看航班信息*/voidwatch(){intb;printf(您现在可以查看航班信息!\n非常感谢!\n我们将为您提供优质服务);printf(0返回上级菜单\n请选择按键:);while(1){scanf(%d,&b);if(b==0)15break;elseprintf(“\n输入错误,请重新输入”);}}/****************************************************//*函数定义函数名称:browseticket功能描述:实现查询航班信息*/voidbrowseticket(){intb;printf(您现在可以查询航班信息!\n非常感谢!\n我们将为您提供优质服务);printf(0返回上级菜单\n请选择按键:);while(1){scanf(%d,&b);if(b==0)break;elseprintf(“\n输入错误,请重新输入”);}}/****************************************************//*函数定义函数名称:change216功能描述:实现修改航班*/voidchange(){intb;printf(您现在可以修改航班信息!\n非常感谢!\n我们将为您提供优质服务);printf(0返回上级菜单\n请选择按键:);while(1){scanf(%d,&b);if(b==0)break;elseprintf(“\n输入错误,请重新输入”);}}17第四章运行结果及分析图4-1运行界面图如果是管理员进入系统则输入“1”(如图4-1所示),然后输入密码。若密码输入错误则显示“密码输入错误,请重新选择身份”回到主界面,譬如输入的密码为“4567”(如图4-1所示)。然后重新选择身份,输入密码正确后进入下一级菜单218图4-2运行界面图然后根据提示按键〈0-5〉选择自己需要的系统服务,譬如输入了“1”,进入定票服务(如图4-2所示)。接受系统服务之后按“0”返回上一级菜单(如图4-3所示)。19图4-3运行界面图返回上一级菜单后可以继续选择自己需要的系统服务,接受系统服务完毕后按“0”返回主界面(如图4-3所示)。220图4-4运行界面图返回上一级菜单后可以继续选择自己需要的系统服务,接受系统服务完毕后按“0”返回主界面(如图4-4所示)。21图4-5运行界面图然后可以继续选择身份接受系统服务。如果是客户进入系统则输入“2”(如图4-5所示),然后根据提示按键〈0-4〉选择需要的系统服务,譬如输入了“1”,进入定票服务(如图4-5所示)。接受系统服务之后按“0”返回上一级菜单(如图4-5所示)。返回上一级菜单后可以继续选择自己需要的系统服务,接受系统服务完毕后按“0”返回主界面(如图4-4所示)。然后可以继续选择身份接受系统服务。222图4-6运行界面图如果进入系统后选择身份时不是输入的“1”或“2”,而是输入其他字符,譬如输入了“3”(如图4-6所示),则系统会显示“输入错误,请重新输入”,直到选择身份正确之后进入下一级菜单。23图4-7运行界面图进入下一级菜单后根据提示选择自己需要的系统服务。若输入了提示中没有的选项编号,譬如输入了“7”(如图4-7所示),则系统会显示“输入错误,请重新输入”,直到输入正确进入下一级菜单为止。224第5章课程设计心得(1)通过一个星期的课程设计的制作,我现在对c语言程序设计有了更深层次的认识,我所设计的航空定票系统菜单综合运用了c语言的基础知识和技巧,特别是条件语句、选择语句、循环语句,利用if语句进行条件判断,利用switch语句进行情况的选择,利用while语句