服务器之家

服务器之家 > 正文

C语言实现航班管理系统

时间:2021-08-11 14:11     来源/作者:dandelionLYY

本文实例为大家分享了C语言实现航班管理系统的具体代码,供大家参考,具体内容如下

  1. /*.航班管理系统
  2. 主界面以菜单的形式展现,用户可以按不同的键执行不同的操作,即调用不同的函数;
  3. ......
  4. 用不同的函数实现,除以下模块,还可设计其他功能模块:
  5. 1)输入记录:输入录入航班信息,包括:航班号,起降时间,起飞抵达城市,航班票价,票价折扣,航班是否满仓等;
  6. 2)输出记录:输出信息;
  7. 3)查询记录:可根据航班号查找记录;
  8. 4)删除记录:指定航班号删除该条记录;
  9. 5)插入记录:在指定位置插入新的记录。
  10. */
  11. #include<stdio.h>
  12. #include<stdlib.h>
  13. #include<string.h>
  14. #define N 50
  15.  
  16. int menu();
  17. int input(struct );
  18. void print(struct );
  19. void search(struct flight_info info[],int n);
  20. int find_id(struct flight_info info[],int n,char *p);
  21. int del(struct,int n);
  22. int add(struct ,int n);
  23. //菜单
  24. int menu(){
  25. int i=1,choie;
  26. // struct flight_info *info;
  27. printf("******************航班管理系统*********************\n");
  28. printf("\t\t%d.输入航班信息\n",i++);
  29. printf("\t\t%d.输出航班信息\n",i++);
  30. printf("\t\t%d.查询记录\n",i++);
  31. printf("\t\t%d.删除记录\n",i++);
  32. printf("\t\t%d.插入记录\n",i++);
  33. printf("\t\t%d.退出系统\n",i++);
  34. printf("****************************************************\n");
  35. do{
  36. printf("请输入你所选功能(1~6):");
  37. scanf("%d",&choie);
  38.  
  39. }while(choie<0||choie>6);
  40. return choie;
  41. }
  42. //输入航班信息
  43. //航班号,起降时间,起飞抵达城市,航班票价,票价折扣,航班是否满仓
  44.  
  45. struct time{
  46. int hour;
  47. int minute;
  48. };
  49.  
  50. struct flight_info{
  51. char id[20]; //航班号
  52. time takeoff; //起飞时间
  53. time landing; //降落时间
  54. char city[20]; //起降城市
  55. float money; //航班票价
  56. float discount;//票价折扣
  57. char full[3];//航班是否满仓
  58. };
  59. int input(struct flight_info info[]){
  60. int count;
  61. system("cls");
  62. printf("\n请输入航班记录条数: ");
  63. scanf("%d",&count);
  64. for(int i=0;i<count;i++){
  65. printf("\n记录号:%d\n",i+1);
  66. for(int j=0;j<20;j++){printf("-");}
  67. printf("\n航班号: ");scanf("%s",info[i].id);
  68. printf("起飞时间(x时x分)");scanf("%d%d",&info[i].takeoff.hour,&info[i].takeoff.minute);
  69. printf("降落时间(x时x分)");scanf("%d%d",&info[i].landing.hour,&info[i].landing.minute);
  70. printf("起降城市");scanf("%s",info[i].city);
  71. printf("航班票价");scanf("%f",&info[i].money);
  72. printf("票价折扣");scanf("%f",&info[i].discount);
  73. printf("是否满仓");scanf("%s",info[i].full);
  74. }
  75. return count;
  76. }
  77. //输出航班信息
  78. void print(struct flight_info info[],int n){
  79. int i;
  80. system("cls");
  81. printf("\n******************航班信息*********************\n");
  82. printf("航班号 起降时间 起降城市 票价 折扣 是否满仓\n");
  83. printf("------------------------------------------------------------------\n");
  84. for(i=0;i<n;i++){
  85. printf("%s\t%d:%d-%d:%d %s\t %.2f\t%.2f\t%s\n",info[i].id,info[i].takeoff.hour,info[i].takeoff.minute,info[i].landing.hour,info[i].landing.minute,info[i].city,info[i].money,info[i].discount,info[i].full);
  86. printf("------------------------------------------------------------------\n");
  87.  
  88. }
  89.  
  90. }
  91. //查询记录
  92. void search(struct flight_info info[],int n){
  93. char s[20];
  94. int i;
  95. system("cls");
  96. printf("请输入查找航班号:\n");
  97. scanf("%s",s);
  98. getchar();
  99. i=find_id(info,n,s);
  100. if(i>n-1)
  101. printf("没有航班号为%s的航班!\n",s);
  102. else {
  103. system("cls");
  104. printf("\n******************航班信息*********************\n");
  105. printf("航班号 起降时间 起降城市 票价 折扣 是否满仓\n");
  106. printf("------------------------------------------------------------------\n");
  107. printf("%s\t%d:%d-%d:%d\t%s\t%.2f\t%.2f\t%s\n",info[i].id,info[i].takeoff.hour,info[i].takeoff.minute,info[i].landing.hour,info[i].landing.minute,info[i].city,info[i].money,info[i].discount,info[i].full);
  108. printf("------------------------------------------------------------------\n");
  109.  
  110. }
  111.  
  112. }
  113. //删除记录
  114. int del(struct flight_info info[],int n){
  115. char s[20];
  116. int ch=0;
  117. int i;
  118. printf("请输入要删除的航班号:\n");
  119. scanf("%s",s);
  120. getchar();
  121. i=find_id(info,n,s);
  122. if(i>n-1)
  123. printf("没有航班号为%s的航班!\n",s);
  124. else {
  125. printf("正在删除中!\n");
  126. for(;i<n;i++){ //从删除位置开始依次前移航班记录
  127. strcpy(info[i].id,info[i+1].id);
  128. info[i].takeoff.hour=info[i+1].takeoff.hour;
  129. info[i].takeoff.minute=info[i+1].takeoff.minute;
  130. info[i].landing.hour=info[i+1].landing.hour;
  131. info[i].landing.minute=info[i+1].landing.minute;
  132. strcpy(info[i].city,info[i+1].city);
  133. info[i].money=info[i+1].money;
  134. info[i].discount=info[i+1].discount;
  135. strcpy(info[i].full,info[i+1].full);
  136. }
  137. n--; //删除后记录数减1
  138. printf("删除成功!\n");
  139. }
  140.  
  141. return n;
  142. }
  143. //插入记录
  144. int add(struct flight_info info[],int n){
  145. struct flight_info temp; //新插入记录信息
  146. int i,j;
  147. char s[20];
  148. printf("请输入要插入的航班记录:\n");
  149. printf("**************************************************");
  150. printf("\n航班号: ");scanf("%s",temp.id);
  151. printf("起飞时间(x时x分)");scanf("%d%d",&temp.takeoff.hour,&temp.takeoff.minute);
  152. printf("降落时间(x时x分)");scanf("%d%d",&temp.landing.hour,&temp.landing.minute);
  153. printf("起降城市");scanf("%s",temp.city);
  154. printf("航班票价");scanf("%f",&temp.money);
  155. printf("票价折扣");scanf("%f",&temp.discount);
  156. printf("是否满仓");scanf("%s",temp.full);
  157.  
  158. //输入插入信息
  159. getchar();
  160. printf("------------------------------------------\n");
  161. if(n>0){
  162. printf("请输入插入位置的航班号,将新纪录插入在该航班号前:\n");
  163. scanf("%s",s); //输入插入位置的姓名
  164. getchar();
  165. i=find_id(info,n,s); //确定插入位置
  166. }
  167. else
  168. i=0;
  169. for(j=n-1;j>=i;j--){
  170. strcpy(info[j+1].id,info[j].id);
  171. info[j+1].takeoff.hour=info[j].takeoff.hour;
  172. info[j+1].takeoff.minute=info[j].takeoff.minute;
  173. info[j+1].landing.hour=info[j].landing.hour;
  174. info[j+1].landing.minute=info[j].landing.minute;
  175. strcpy(info[j+1].city,info[j].city);
  176. info[j+1].money=info[j].money;
  177. info[j+1].discount=info[j].discount;
  178. strcpy(info[j+1].full,info[j].full);
  179. }
  180. strcpy(info[i].id,temp.id);
  181. info[i].takeoff.hour=temp.takeoff.hour;
  182. info[i].takeoff.minute=temp.takeoff.minute;
  183. info[i].landing.hour=temp.landing.hour;
  184. info[i].landing.minute=temp.landing.minute;
  185. strcpy(info[i].city,temp.city);
  186. info[i].money=temp.money;
  187. info[i].discount=temp.discount;
  188. strcpy(info[i].full,temp.full);
  189.  
  190. n++; //记录数加1
  191. return n;//返回记录数
  192. }
  193.  
  194. //按航班号查找函数
  195. int find_id(flight_info info[],int n,char *p){
  196. int i;
  197. for(i=0;i<n;i++){
  198. if(strcmp(p,info[i].id)==0)
  199. return i;
  200. }
  201. return i;
  202. }
  203.  
  204. int main(){
  205. int length;
  206. flight_info info[N];
  207.  
  208. for(;;){
  209. switch(menu()){
  210. case 1:length=input(info);break;
  211. case 2:print(info,length);break;
  212. case 3:search(info,length);break;
  213. case 4:length=del(info,length);break;
  214. case 5:length=add(info,length);break;
  215. case 6:system("cls");printf("系统已关闭!!!\n感谢使用\n");exit(0);break;
  216. }
  217. printf("按回车键返回主菜单...\n");
  218. getchar();
  219. }
  220. return 0;
  221. }

C语言实现航班管理系统

C语言实现航班管理系统

C语言实现航班管理系统

C语言实现航班管理系统

C语言实现航班管理系统

C语言实现航班管理系统

C语言实现航班管理系统

C语言实现航班管理系统

C语言实现航班管理系统

C语言实现航班管理系统

更多学习资料请关注专题《管理系统开发》。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

原文链接:https://blog.csdn.net/dandelionLYY/article/details/86743932

相关文章

热门资讯

yue是什么意思 网络流行语yue了是什么梗
yue是什么意思 网络流行语yue了是什么梗 2020-10-11
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全 2019-12-26
背刺什么意思 网络词语背刺是什么梗
背刺什么意思 网络词语背刺是什么梗 2020-05-22
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总 2020-11-13
2021德云社封箱演出完整版 2021年德云社封箱演出在线看
2021德云社封箱演出完整版 2021年德云社封箱演出在线看 2021-03-15
返回顶部