C语言实现飞机售票系统

本文实例为大家分享了C语言实现飞机售票系统的具体代码,供大家参考,具体内容如下

一、项目简介

通过“航空售票系统”C语言课程设计的实践,掌握函数、数据的读取和存储。熟练链表的操作,为后期学习打下基础。

二、任务概述

(1) 将飞机坐位分为20排,每排4个位子。
(2) 系统可让乘客自己选座号和区域,直到乘客满意为止。
(3) 若无法满足的话,改乘另一个航班。
(4) 定上票的乘客需给出姓名和身份证号。
(5) 要求打印出乘客信息。

三、功能展示

C语言实现飞机售票系统_第1张图片

C语言实现飞机售票系统_第2张图片

C语言实现飞机售票系统_第3张图片

C语言实现飞机售票系统_第4张图片

四、思维导图

C语言实现飞机售票系统_第5张图片

五、程序源码

#include 
#include 
#include 
#define N 100

typedef struct plane
{
     char ID[10]; /*航班代号*/
     char BePlace[10];/*飞机起飞地点*/
     char EnPlace[10];/*飞机降落终点*/
     char data[15];/*飞机起飞时间*/
     int max;/*飞机最大乘客人数*/
     int num;/*飞机已售票数*/
}PLANE;PLANE ti[N];


typedef struct user
{
     char name[20];
     int number;
     char id[20];
     char seat[3];
    
     
}USER;USER si[N];


int n,n1;/*当前的航班数目以及新加入的航班*/
int e,r;
void menu();
void menu1();


void input(int i) /* 输入航班模块,enter的子模块 */
{
     printf("请输入航班代号:\n");
     scanf("%s",ti[i].ID);
     
     printf("请输入起飞地点:\n");
     scanf("%s",ti[i].BePlace);
     
     printf("请输入降落地点:\n");
     scanf("%s",ti[i].EnPlace);
     
     printf("请输入起飞时间:\n");
     scanf("%s",ti[i].data);
     
     printf("请输入最大座位:\n");
     scanf("%d",&ti[i].max);
     ti[i].num=0;
}


void enter() /* 添加航班模块 */
{
     int i;
     system( "cls" ); /*清屏*/
     n1=0;
     n=n+n1;
     printf("请输入航班的数目:");
     scanf("%d",&n1); /*要输入的记录个数*/
     printf("\n请输入数据(原已有%d趟航班)\n\n",n);
     for(i=n;i3) /*对选择的数字作判断*/
        {
           w1=1;
           printf("your choice is not between 1 and 3,Please input again:"); 
           getchar();
           getchar();
        }
        else w1=0;
     }

     while(w1==1); /*选择功能*/
     switch(n)
    {
        case 1:search_time();break;
        case 2:serch_end();break;
        case 3:menu();break;
    }
}


int search() /* 售票的查找模块,book的子模块 */
{
     int i,k;
     struct plane s;
     k=-1;
     printf("请输入要订票的起飞地点:\n");
     scanf("%s",s.BePlace);/*输入要起飞的地方*/ 
     printf("请输入要订票的降落地点:\n");
     scanf("%s",s.EnPlace);/*输入要到达的地方*/
     printf("请输入要订票的起飞时间:\n");
     scanf("%s",s.data); /*输入出发的时间*/
     for(i=0;i=ti[i].max)
       {
           printf("\n该趟航班票已售完!");
       }
       else
       {
           ti[i].num++;
           strcpy(si[e].id,ti[i].ID);
           e++;
           printf("\n订票成功!\n"); 
       }
     }
     else
     {
         printf("该航班不存在!\n");
     }
     getchar();
     getchar(); /*按任意健*/
     menu();
}


void back() /* 退票模块 */
{
     int i,k=-1;
     struct plane s;
     char name[20];
     int number; 
     system( "cls" );
     printf("欢迎进入退票窗口!\n");
     printf("\n请输入您的姓名:\n");
     scanf("%s",name);
     printf("请输入您的身份证号:\n");
     scanf("%d",&number);
     printf("\n\n输入航班代号:");
     scanf("%s",s.ID); /*输入要到达的地方*/
     for(i=0;i9) /*对选择的数字作判断*/ 
        {
           w1=1;
           printf("your choice is not between 1 and 9,Please input enter to choice again:");
           getchar();
           getchar();
        }
        else w1=0;
     }
     while(w1==1); /* 选择功能,menu的子模块 */
     switch(n)
     {
        case 1:enter();break; /*输入模块*/
        case 2:browse();break; /*浏览航班模块*/
        case 3:menu1();break; /*航班查找模块*/
        case 4:book();break; /*订票模块*/
        case 5:back();break; /*退票模块*/
        case 6:watch();break; /*浏览已售信息模块*/
        case 7:save();break; /*保存模块*/
        case 8:load();break; /*加载模块*/
        case 9:exit(0);
     }
}


int main() /*主函数 */ 
{
     menu();
}

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

你可能感兴趣的:(C语言实现飞机售票系统)