iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >C语言如何实现航空订票系统
  • 127
分享到

C语言如何实现航空订票系统

2023-06-29 12:06:45 127人浏览 独家记忆
摘要

本篇内容介绍了“C语言如何实现航空订票系统”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!利用二进制将一整个结构体中的数据存入文件,然后读取文

本篇内容介绍了“C语言如何实现航空订票系统”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

利用二进制将一整个结构体中的数据存入文件,然后读取文件时再用二进制的形式将结构体中的数据读取出来,边读取边创建链表,将结构体中的数据保存到链表中。

如果有第一次写这种大作业不知道如何下手,但又不想直接复制粘贴,想搞清楚这个代码的原理的可以私信我,毕竟我当时也第一次写这种大作业时也很苦恼(我当时写的要是有这么完整的代码该多好啊,我直接就是复制粘贴运行看效果)

// author:吴泽琛// nylg#include <stdio.h>#include <stdlib.h>#include <windows.h>#include <string.h>#include <coNIO.h>#include <iOStream>#define PRINTF "%s\t\t%d\t\t%s\t\t\t%s\t\t星期%d\t\t\t%d\n",airlinep->airlinenum,airlinep->airplanenum,airlinep->dep,airlinep->des,airlinep->time,airlinep->ticksusing namespace std;typedef class mange{    public:    char mangername[20];    char scert[20];    char securityscert[20];    class mange *next;}manger;typedef class use{    public://    char userairlinenum[20];//航班号//    int userairplanenum;//飞机号 //    char userdes;//目的地 //    char userdep;//出发时间 //    int usertime;//起飞时间     int ticks;//票数     int bookcnt;//订票次数     char username[20];    char scert[20];    char securityscert[20];    char bookticks[2000][2000];//机票名字     class use *next;}user;typedef class airline{    public:    char airlinenum[20];//航班号    int airplanenum;//飞机号    char dep[1000];//出发地点    char des[1000];//目的地    int time;//飞行时间(星期几)    int ticks;//票数    class airline *next;}airline;manger* mhead = NULL, *mend = NULL;user *uhead = NULL, *uend = NULL;airline *ahead = NULL, *aend = NULL;airline *ahead1 = (airline*)malloc(sizeof(airline));int mcnt, ucnt, acnt;char mscert[200] = {"wsgly"};void load();void main1();void changemenu();void mainmenu();void ReGIStermenu();void Loginmenu();void mlmenu();void ulmenu();void Login();void Register();void uRegister();void mRegister();void mLogin();void uLogin();void userfunction();void search();void searchmenu();void printairline();void printdes();void printtime();void printticks();void airlinesort();void dessort();void bookticks(user *userp);void returnticks(user *userp);void findairline(user *userp); void mangerfunction();void deleteusernum(char *airlinenum);void addairline();void deletenum();void changeairline();void searchuser();void changeuserairline(char *userbookticks, char *bookticks);void rmanger(manger *mhead);void rairline(airline *ahead);void ruser(user *uhead);void readmangerfile();void readuserfile();void readairlinefile();void title();void date();void cls();void over();void writefile(int flag);int exist(char *name, int flag);void hualihushao1();void hualihushao2();void searchscert();void searchmangerscert();void searchuserscert();void changescert();void changemangerscert();void changeuserscert();void print_message();int main(){    //hualihushao1();    system("color F6");    title();    mhead = (manger*)malloc(sizeof(manger));    uhead = (user*)malloc(sizeof(user));    ahead = (airline*)malloc(sizeof(airline));    ahead1->next = ahead;        ruser(uhead);    rmanger(mhead);    rairline(ahead);    //                            test//    user *q = uhead;//    while (q)//    {//        printf("%d %s %s %d %s\n",q->ticks,q->username,q->scert,q->bookcnt,q->securityscert);//        q = q->next;//    }    airline *p = ahead;    while (p)    {        printf("%s %d %s %s %d %d\n",p->airlinenum,p->airplanenum,p->dep,p->des,p->time,p->ticks);        p = p->next;    }    main1();    return 0;}void main1(){    int choose;    int sign;        while (1)    {        cls();        date();        mainmenu();            char choose = getch();         switch(choose)        {            case '1':                    cls();                    Login();                    break;            case '2':                    cls();                    Register();                     break;            case '3':                    cls();                    searchscert();                    break;            case '4':                    cls();                    changescert();                    break;            case '5':                    cls();                    over();                    cls();                    break;            default :                    printf("输入无效!");                    break;        }    }    }void Login() {    int sign;    while (1)    {        cls();        date();        Loginmenu();        char choose = getch();    switch(choose)    {        case '1':                cls();                mLogin();                break;        case '2':                cls();                uLogin();                 break;        case '3':                sign = 1;                break;        case '4':                cls();                over();                break;        default :                printf("输入无效!");                break;                                    }        if (sign)        {            break;        }    }    }void Register(){    int sign;        while (1)    {        cls();        date();        Registermenu();        char choose = getch();    switch(choose)    {        case '1':                cls();                mRegister();                break;        case '2':                cls();                uRegister();                break;        case '3':                sign = 1;                cls();                break;        case '4':                cls();                over();                cls();                break;        default :                printf("输入无效!");                break;    }    if (sign)    {        break;    }    }    }void userfunction(user *userp){        int sign;        while (1)    {        cls();        date();    ulmenu();    char choose = getch();    switch(choose)    {        case '1':                cls();                bookticks(userp);                break;        case '2':                cls();                returnticks(userp);                break;        case '3':                cls();                findairline(userp);                break;        case '4':                cls();                search();                break;        case '5':                sign = 1;                cls();                break;        case '6':                cls();                over();                cls();                break;        default :                printf("输入无效!");                break;    }        if (sign)        {            break;        }    }    }void mangerfunction(){    int sign = 0;    int choose ;    while (1)    {        cls();        date();    mlmenu();    char choose = getch();    switch(choose)    {        case '1':                cls();                addairline();                break;        case '2':                cls();                deletenum();                break;        case '3':                cls();                changeairline();                break;        case '4':                cls();                searchuser();                break;        case '5':                cls();                search();                break;        case '6':                sign = 1;                cls();                break;        case '7':                cls();                over();                cls();                break;        default :                printf("输入无效!");                break;    }        if (sign)        {            break;        }    }    }void mlmenu(){    printf("                                                 管理员页面\n");    printf("                              **************************************************\n");    printf("                              **               1.增加航班信息                 **\n");     printf("                              **                                              **\n");    printf("                              **               2.删除航班信息                 **\n");    printf("                              **                                              **\n");    printf("                              **               3.修改航班信息                 **\n");    printf("                              **                                              **\n");    printf("                              **               4.查看客户信息                 **\n");    printf("                              **                                              **\n");    printf("                              **               5.浏览航班信息                 **\n");    printf("                              **                                              **\n");    printf("                              **               6.返回                         **\n");    printf("                              **                                              **\n");        printf("                              **               7.退出                         **\n");    printf("                              **************************************************\n");    printf("请按键选择:");}void ulmenu(){    printf("                                                  乘客页面\n");    printf("                              **************************************************\n");    printf("                              **               1.订票                         **\n");     printf("                              **                                              **\n");    printf("                              **               2.退票                         **\n");    printf("                              **                                              **\n");    printf("                              **               3.查看已订机票                 **\n");    printf("                              **                                              **\n");    printf("                              **               4.浏览航班信息                 **\n");    printf("                              **                                              **\n");    printf("                              **               5.返回                         **\n");    printf("                              **                                              **\n");    printf("                              **               6.退出                         **\n");    printf("                              **************************************************\n");    printf("请按键选择:");}void mainmenu(){    printf("\n\n");    printf("                                        欢 迎 使 用 航 空 管 理 系 统 !\n");    printf("                              **************************************************\n");    printf("                              **                    1.登录                    **\n");    printf("                              **                                              **\n");    printf("                              **                    2.注册                    **\n");    printf("                              **                                              **\n");    printf("                              **                    3.找回密码                **\n");    printf("                              **                                              **\n");    printf("                              **                    4.修改密码                **\n");    printf("                              **                                              **\n");    printf("                              **                    5.退出                    **\n");    printf("                              **************************************************\n");    printf("请按键选择:");}void Registermenu(){    printf("                                                   注册页面\n");    printf("                              **************************************************\n");    printf("                              **                 1.管理员注册                 **\n");    printf("                              **                                              **\n");    printf("                              **                 2.乘客注册                   **\n");    printf("                              **                                              **\n");    printf("                              **                 3.返回                       **\n");    printf("                              **                                              **\n");    printf("                              **                 4.退出                       **\n");    printf("                              **************************************************\n");    printf("请按键选择:");}void Loginmenu(){    printf("                                                   登录页面\n");    printf("                              **************************************************\n");    printf("                              **                 1.管理员登录                 **\n");    printf("                              **                                              **\n");    printf("                              **                 2.用户登录                   **\n");    printf("                              **                                              **\n");    printf("                              **                 3.返回                       **\n");    printf("                              **                                              **\n");    printf("                              **                 4.退出                       **\n");    printf("                              **************************************************\n");    printf("请按键选择:");}void changemenu(){        printf("\n\n");        printf("\t\t\t\t*******************************\n");        printf("\t\t\t\t**      1.修改航班号         **\n");        printf("\t\t\t\t**                           **\n");        printf("\t\t\t\t**      2.修改飞机号         **\n");        printf("\t\t\t\t**                           **\n");        printf("\t\t\t\t**      3.修改出发地点       **\n");        printf("\t\t\t\t**                           **\n");        printf("\t\t\t\t**      4.修改目的地         **\n");        printf("\t\t\t\t**                           **\n");        printf("\t\t\t\t**      5.修改起飞时间       **\n");        printf("\t\t\t\t**                           **\n");        printf("\t\t\t\t**      6.修改票数           **\n");        printf("\t\t\t\t**                           **\n");        printf("\t\t\t\t**      7.返回               **\n");        printf("\t\t\t\t*******************************");        printf("\n\n");}void searchmenu(){    printf("\n\n\n\n");    printf("\t\t\t\t***********************************\n");    printf("\t\t\t\t**         1.查看航班信息        **\n");    printf("\t\t\t\t**                               **\n");    printf("\t\t\t\t**         2.按航班号浏览        **\n");    printf("\t\t\t\t**                               **\n");    printf("\t\t\t\t**         3.按起飞时间浏览      **\n");    printf("\t\t\t\t**                               **\n");    printf("\t\t\t\t**         4.按机票数浏览        **\n");    printf("\t\t\t\t**                               **\n");    printf("\t\t\t\t**         5.返回                **\n");    printf("\t\t\t\t**                               **\n");    printf("\t\t\t\t**         6.退出                **\n");    printf("\t\t\t\t***********************************\n");    printf("请按键选择:");}void ruser(user *uhead){    FILE *fp;    fp = fopen("user","a+");    ucnt = fread(uhead,sizeof(user),1,fp);    fclose(fp);    uend = uhead;    readuserfile();}void rmanger(manger *mhead){    FILE *fp;    fp = fopen("manger","a+");    mcnt = fread(mhead,sizeof(manger),1,fp);    fclose(fp);    mend = mhead;    readmangerfile();}void rairline(airline *ahead){    FILE *fp;    fp = fopen("airline","a+");    acnt = fread(ahead,sizeof(airline),1,fp);    fclose(fp);    aend = ahead;    readairlinefile();}void uRegister(){    date();    user *p;    char username[1000];    char scert[1000];    char securityscert[2000];    FILE *fp;    if (ucnt == 0)          //第一次添加    {        printf("\n\n\n\n\n\n\n");        printf("-------------请输入账户(按0退出):");        while (gets(username))        {            if (strcmp(username,"0") == 0)            {                return ;            }            if (strlen(username) <= 16 && !exist(username, 0))                break;            else if (exist(username, 0))            {                printf("-------------该账户已存在!请重新输入(按0退出):");            }            else            {                printf("-------------请输入长度为1到16位的账户:");            }        }        strcpy(uhead->username, username);        printf("-------------请输入密码:");        while (gets(scert))        {            if (strlen(scert) <= 16)                break;            else                printf("-------------请输入长度为1到16的密码:");        }        strcpy(uhead->scert, scert);        printf("-------------请输入您的密保:");        while (gets(securityscert))        {            if (strlen(securityscert) <= 16)            {                break;            } else             {                printf("-------------请输入长度为1到16位的密保:");            }        }        strcpy(uhead->securityscert,securityscert);        uhead->bookcnt = 0;        uend = uhead;        uend->next = NULL;     }    else    {        p = (user*)malloc(sizeof(user));        printf("\n\n\n\n\n\n\n");        printf("-------------请输入账户(按0退出):");        while (gets(username))        {            if (strcmp(username,"0") == 0)            {                return ;            }            if (strlen(username) <= 16 && !exist(username, 0))                break;            else if (exist(username, 0))            {                printf("-------------该账户已存在!请重新输入(按0退出):");            }            else            {                printf("-------------请输入长度为1到16位的账户:");            }        }        strcpy(p->username, username);        printf("-------------请输入密码:");                while (gets(scert))        {            if (strlen(scert) <= 16)                break;            else                printf("-------------请输入长度为1到16的密码:");        }        strcpy(p->scert, scert);        printf("-------------请输入您的密保:");        while (gets(securityscert))        {            if (strlen(securityscert) <= 16)            {                break;            } else             {                printf("-------------请输入长度为1到16位的密保:");            }        }        strcpy(p->securityscert,securityscert);        p->bookcnt = 0;        uend->next = p;        uend = p;        uend->next = NULL;    }    ucnt++;    writefile(0);    cls();        printf("\n\n\n\n\n\n\n");        printf("\t\t\t\t\t*******************************\n");         printf("\t\t\t\t\t**                           **\n");        printf("\t\t\t\t\t       乘客%s创建成功!                                      \n",uend->username);        printf("\t\t\t\t\t**     即将跳转至主页面...   **\n");        printf("\t\t\t\t\t**                           **\n");        printf("\t\t\t\t\t*******************************\n");    Sleep(3000);}int exist(char *name, int flag)//1 为存在   0 为不存在 {    if (flag == 0)    {        user *p = uhead;        while (p != NULL && ucnt != 0)        {            if (strcmp(name,p->username) == 0)            {                return 1;            }            p = p->next;        }    }    else if (flag == 1)    {        manger *p = mhead;        while (p != NULL)        {            if (strcmp(name,p->mangername) == 0)            {                return 1;            }            p = p->next;         }    }    return 0;}void uLogin() {    date();    int cnt = 4;    int flag = 0;    int k = 0;    int i;    char c;    user *p = uhead;    char username[2000];    char scert[2000];    printf("\n\n\n\n\n\n\n");    FILE *fp;    fp = fopen("user","r");    char ch;    ch = fgetc(fp);    rewind(fp);    if (ch == EOF)    {        printf("-------------暂无乘客账号信息!!\n-------------请先前往注册!");        getchar();        return ;    }        printf("-------------请输入您的账户(按0退出):");//    gets(username);//    getch();     while (gets(username))    {        if (strcmp(username,"0") == 0)        {            return ;        }         if (strlen(username) <= 16)        {            break;        } else         {            printf("-------------请输入长度为1到16位的账户:");        }    }    printf("-------------请输入您的密码(按0退出):");//    gets(scert        for (i = 0; (c = getch()) != '\r';)        {            if (c == '0')            {                return ;            }            if (i <= 15 && isprint(c))            {                scert[i] = c;                i ++;                k ++;                printf("*");            }            if ( k > 0 && c > 0 && c == '\b')            {                i --;                k --;                printf("\b");                printf(" ");                printf("\b");            }        }    scert[i] = '\0';    printf("\n");    while (p != NULL)    {        if (strcmp(p->username,username) == 0)        {            flag = 1;            while (strcmp(p->scert,scert) != 0)            {                cnt --;                if (cnt == 1)                {                    cls();                    printf("\n\n\n\n\n\n\n");                    printf("-------------密码输入次数已用完!\n-------------即将退出登录页面...");                    Sleep(3000);                    cls();                    return ;                }                printf("-------------密码错误!您还有%d次机会!\n",cnt - 1);                printf("-------------请重新输入:");                 gets(scert);            }            printf("-------------乘客%s登录成功!\n-------------即将跳转至乘客页面...",p->username);            Sleep(3000);            cls();            userfunction(p);        }        p = p->next;    }    if (flag == 0)    {        printf("-------------不存在此账号!\n-------------请先前往注册!\n");        printf("-------------即将跳转至主页面...");        Sleep(2000);    }}void mLogin(){    date();    int cnt = 4;    int flag = 0;    int k = 0;    int i;    char c;    manger *p = mhead;    char mangername[2000];    char scert[2000];    printf("\n\n\n\n\n\n\n");    FILE *fp;    fp = fopen("manger","r");    char ch;    ch = fgetc(fp);    rewind(fp);    if (ch == EOF)    {        printf("-------------暂无管理员账号信息!!\n-------------请先前往注册!");        getchar();        return ;     }    printf("-------------请输入您的账户(按0退出):");    while (gets(mangername))    {        if (strcmp(mangername,"0") == 0)        {            return ;        }        if (strlen(mangername) <= 16)        {            break;        } else         {            printf("-------------请输入长度为1到16位的账户:");        }    }        printf("-------------请输入您的密码(按0退出):");    for (i = 0; (c = getch()) != '\r';)    {        if (c == '0')        {            return ;        }        if (i <= 15 && isprint(c))        {            scert[i] = c;            i ++;            k ++;            printf("*");        }        if ( k > 0 && c > 0 && c == '\b')        {            i --;            k --;            printf("\b");            printf(" ");            printf("\b");        }    }    scert[i] = '\0';    printf("\n");        while (p)    {        if (strcmp(p->mangername,mangername) == 0)        {                        flag = 1;            while (strcmp(p->scert,scert) != 0)            {                cnt --;                if (cnt == 1)                {                    cls();                    printf("\n\n\n\n\n\n\n");                    printf("-------------密码输入次数已用完!\n-------------即将退出登录页面...");                    Sleep(3000);                    cls();                    return ;                }                printf("-------------密码错误!您还有%d次机会!\n",cnt - 1);                printf("-------------请重新输入:"); //                gets(scert);for (i = 0; (c = getch()) != '\r';)    {        if (c == '0')        {            return ;        }        if (i <= 15 && isprint(c))        {            scert[i] = c;            i ++;            k ++;            printf("*");        }        if ( k > 0 && c > 0 && c == '\b')        {            i --;            k --;            printf("\b");            printf(" ");            printf("\b");        }    }    scert[i] = '\0';    printf("\n");            }            printf("-------------管理员%s登录成功!\n-------------即将跳转至管理员页面...",p->mangername);//            load();            //cls();            mangerfunction();            return ;        }        p = p->next;    }    if (flag == 0)    {        printf("-------------不存在此账号!\n-------------请先前往注册!\n");        printf("-------------即将跳转至主页面...");        Sleep(2000);    }}void mRegister(){    date();    FILE *fp;    char mangerscert[1000];    char mname[1000];    char scert[1000];    char securityscert[2000];    printf("\n\n\n\n\n\n\n");    printf("-------------请输入管理员验证码:");//    getchar();    gets(mangerscert);    int cnt = 2;    while (--cnt >= 0)    {        if (strcmp(mangerscert,mscert) == 0)        {            printf("-------------管理员验证成功!!\n-------------即将进入注册页面...");            Sleep(1000);            cls();            break;        } else         {            printf("-------------管理员验证失败!!\n-------------您还有%d次机会!!\n",cnt + 1);            printf("-------------请重新输入:");            gets(mangerscert);        }        if (cnt == 0)        {            printf("-------------输入次数已用完!!\n-------------即将退出管理员注册系统...");            Sleep(2000);            cls();            return ;        }    }    manger *p;    if (mcnt == 0)    {        printf("\n\n\n\n\n\n\n");        printf("-------------请输入账户(按0退出):");        while (gets(mname))        {            if (strcmp(mname,"0") == 0)            {                return ;            }            if (strlen(mname) <= 16 )            {                break;            } else            {                printf("-------------请输入长度为1到16位的账户:");            }        }        strcpy(mhead->mangername,mname);        printf("-------------请输入密码:");        while (gets(scert))        {            if (strlen(scert) <= 16)            {                break;            } else             {                printf("-------------请输入长度为1到16位密码:");            }        }        strcpy(mhead->scert,scert);        printf("-------------请输入您的密保:");        while (gets(securityscert))        {            if (strlen(securityscert) <= 16)            {                break;            } else             {                printf("-------------请输入长度为1到16位的密保:");            }        }        strcpy(mhead->securityscert,securityscert);        mend = mhead;        mend->next = NULL;    }    else     {        p = (manger*)malloc(sizeof(manger));        printf("\n\n\n\n\n\n\n");        printf("-------------请输入账户(按0退出):");        while (gets(mname))        {            if (strcmp(mname,"0") == 0)            {                return ;            }             if (strlen(mname) <= 16 && !exist(mname,1))            {                break;            }            else if (exist(mname,1))            {                printf("-------------该账户已存在!请重新输入!(按0退出)");             } else            {                printf("-------------请输入长度为1到16位的账户:");            }        }        strcpy(p->mangername,mname);        printf("-------------请输入密码:");        while (gets(scert))        {            if (strlen(scert) <= 16)            {                break;            } else             {                printf("-------------请输入长度为1到16位的密码:");            }        }        strcpy(p->scert,scert);        printf("-------------请输入您的密保:");        while (gets(securityscert))        {            if (strlen(securityscert) <= 16)            {                break;            } else             {                printf("-------------请输入长度为1到16位的密保:");            }        }        strcpy(p->securityscert,securityscert);        mend->next = p;        mend = p;        mend->next = NULL;    }    mcnt ++;        writefile(1);    cls();        printf("\n\n\n\n\n\n\n");        printf("\t\t\t\t\t*******************************\n");         printf("\t\t\t\t\t**                           **\n");        printf("\t\t\t\t\t       管理员%s创建成功!      \n",mend->mangername);        printf("\t\t\t\t\t**     即将跳转至主页面...   **\n");        printf("\t\t\t\t\t**                           **\n");        printf("\t\t\t\t\t*******************************\n");    Sleep(3000);}void title(){    system("color F2");    system("title **************************************************************************欢迎使用航空订票系统****************************************************************************"); }void date(){    system("date/t");    system("time/t");}void cls(){    system("cls");}void over(){    //hualihushao2();    cls();    system("color 6");    int time = 6;    printf("\n\n\n\n\n\n\n\n\n");    printf("\t\t\t\t\t\t感谢您的使用!!\n\n\n\n\n");    printf(" 程序即将关闭...");    while (--time >= 1)    {        printf("\r%d",time);        printf("\b");        Sleep(1000);    }    cls();    exit(0);    }void readuserfile(){    user *p = uhead;    FILE *fp = fopen("user","ab+");    while (fread(p,sizeof(user),1,fp))    {        if (p->next != NULL)        {            p = (user*)malloc(sizeof(user));            uend->next = p;            uend = p;            uend->next = NULL;        }    }}void readmangerfile(){    manger *p;    FILE *fp;     p = mhead;    fp = fopen("manger", "ab+");    while (fread(p, sizeof(manger), 1, fp))    {        if (p->next != NULL)        {            p = (manger*)malloc(sizeof(manger));             mend->next = p;            mend = p;            mend->next = NULL;        }    }}void readairlinefile(){    airline *p;    FILE *fp;        p = ahead;    fp = fopen("airline","ab+");    while (fread(p,sizeof(airline),1,fp))    {        if(p->next != NULL)        {            p = (airline*)malloc(sizeof(airline));            aend->next = p;            aend = p;            aend->next = NULL;        }    }}void addairline(){    FILE *fp;    airline *p;    char airlinenum[2000];    if (acnt == 0)    {        printf("-------------请输入航班号(按0返回):");//        getchar();        while (gets(airlinenum))        {            if (strcmp(airlinenum,"0") == 0)            {                return ;            }            if (strlen(airlinenum) <= 16)            {                break;            } else             {                printf("-------------请输入长度为1到16位的航班号:");            }        }        strcpy(ahead->airlinenum,airlinenum);        printf("-------------请输入飞机号:");//        getchar();        long long int airplanenum;        while (scanf("%lld",&airplanenum))        {            if (airplanenum <= 0)            {                printf("-------------请输入正确格式的飞机号:");            } else if (airplanenum > 999999)            {                printf("-------------请输入长度为1-6位的飞机号:");            } else            {                ahead->airplanenum = airplanenum;                break;            }        }        printf("-------------请输入出发地点:");        getchar();        char dep[1000];        while (gets(dep))        {            if (strlen(dep) <= 16)            {                strcpy(ahead->dep,dep);                break;            } else             {                printf("-------------请输入长度为1到16位的出发地点:");            }        }//        getchar();        printf("-------------请输入目的地:");                char des[1000];        while (gets(des))        {            if (strlen(des) <= 16)            {                strcpy(ahead->des,des);                break;            } else             {                printf("-------------请输入长度为1到16位的目的地:");            }        };        printf("-------------请输入机票数:");        int ticks;        while (scanf("%d",&ticks))        {            if (ticks <= 0)            {                printf("-------------请输入正确格式的机票数!");            } else if (ticks > 999)            {                printf("-------------请输入0-999以内的机票数!");            } else             {                ahead->ticks = ticks;                break;            }        }        int time;        printf("-------------请输入起飞时间(1-7):");        while (scanf("%d",&time))        {            if (time < 1 || time > 7)            {                printf("-------------请输入正确的起飞时间(周一到周日用1-7表示):");            } else             {                ahead->time = time;                break;            }                     }        aend = ahead;        aend->next = NULL;    } else    {        printf("-------------请输入航班号(按0返回):");        getchar();        while (gets(airlinenum))        {            if (strcmp(airlinenum,"0") == 0)            {                return ;            }            if (strlen(airlinenum) <= 16)            {                break;            } else             {                printf("-------------请输入长度为1到16位的航班号:");            }        }        int flag = 0;        p = ahead;        while (p)        {            if (strcmp(p->airlinenum,airlinenum) == 0)            {                flag = 1;                break;            }            p = p->next;        }        if(flag == 1)        {            int ticks;            printf("-------------请输入要增加票的数量:");            while (scanf("%d",&ticks))            {                if (ticks <= 0)                {                    printf("-------------请输入正确格式的机票数!");                } else if (ticks > 999)                {                    printf("-------------请输入0-999以内的机票数!");                } else                 {                    p->ticks += ticks;                    printf("-------------航班号%s票数添加成功!",p->airlinenum);                    break;                }            }        } else        {        p = (airline*)malloc(sizeof(airline));        strcpy(p->airlinenum,airlinenum);        printf("-------------请输入飞机号:");        long long int airplanenum;        while (scanf("%lld",&airplanenum))        {            if (airplanenum <= 0)            {                printf("-------------请输入正确格式的飞机号:");            } else if (airplanenum > 999999)            {                printf("-------------请输入长度为1-6位的飞机号:");            } else             {                p->airplanenum = airplanenum;                break;            }        }        printf("-------------请输入出发地点:");        getchar();        char dep[1000];        while (gets(dep))        {            if (strlen(dep) <= 16)            {                strcpy(p->dep,dep);                break;            } else             {                printf("-------------请输入长度为1到16位的出发地点:");            }        }                printf("-------------请输入目的地:");        char des[1000];        while (gets(des))        {            if (strlen(des) <= 16)            {                strcpy(p->des,des);                break;            } else             {                printf("-------------请输入长度为1到16位的目的地:");            }        }        printf("-------------请输入机票数:");        int ticks;        while (scanf("%d",&ticks))        {            if (ticks < 0)            {                printf("-------------请输入正确格式的机票数!");            } else if (ticks > 999)            {                printf("-------------请输入0-999以内的机票数!");            } else             {                p->ticks = ticks;                 break;            }        }        int time;        printf("-------------请输入起飞时间(1-7):");        while (scanf("%d",&time))        {            if (time < 1 || time > 7)            {                printf("-------------请输入正确的起飞时间(周一到周日用1-7表示):");            } else             {                p->time = time;                break;            }         }        getchar();        aend->next = p;        aend = p;        aend->next = NULL;         }    }    acnt ++;    writefile(2);    cls();    printf("\n\n\n\n\n\n");    printf("\t\t\t\t\t********************************\n");    printf("\t\t\t\t\t**                            **\n");    printf("\t\t\t\t\t       航班号%s添加成功!       \n",aend->airlinenum);    printf("\t\t\t\t\t**                            **\n");    printf("\t\t\t\t\t********************************\n");    printf("页面即将跳转...");    Sleep(2000);    }void writefile(int flag)// 0 写用户 1 写管理员 2 写航班 {    user *userp = uhead;    manger *mangerp = mhead;    airline *airlinep = ahead;    FILE *fp;        if (flag == 0)    {        fp = fopen("user","w");        while (userp)        {            fwrite(userp,sizeof(user),1,fp);            userp = userp->next;        }    } else if(flag == 1)    {        fp = fopen("manger","w");        while (mangerp)        {            fwrite(mangerp,sizeof(manger),1,fp);            mangerp = mangerp->next;        }    } else if(flag == 2)    {        fp = fopen("airline","w");        while (airlinep)        {            fwrite(airlinep,sizeof(airline),1,fp);            airlinep = airlinep->next;        }    }    fclose(fp);}void deletenum(){    airline *p, *sign;    p = ahead;    char airlinenum[1000];    int flag = 0;        FILE *fp;    fp = fopen("airline","r");    char ch;    ch = fgetc(fp);    rewind(fp);    if (ch == EOF)    {        printf("\n\n\n\n\n\n\n");        printf("-------------暂无航班信息!!");        getchar();        printf("pause");        return ;    }        printf("-------------请输入您要删除的航班号(按0退出):");    while (scanf("%s",airlinenum))    {        if (strcmp("0",airlinenum) == 0)        {            getchar();            return ;        }        while (p)        {            if (strcmp(p->airlinenum,airlinenum) == 0)            {                flag = 1;                break;            }            p = p->next;        }        if (flag == 0)        {            printf("-------------查无此航班!");            printf("请重新输入(按0退出):");            p = ahead;        } else         {            break;        }    }    deleteusernum(airlinenum);    p = ahead;    if (strcmp(ahead->airlinenum,airlinenum) == 0)    {        sign = ahead;        strcpy(sign->airlinenum,ahead->airlinenum);        ahead = ahead->next;        ahead1->next = ahead;    }    while (p->next != NULL)    {        if (strcmp(p->next->airlinenum,airlinenum) == 0)        {            sign = p->next;            strcpy(sign->airlinenum,p->next->airlinenum);            p->next = p->next->next;            break;        }        p = p->next;    }     getchar();    printf("\n\n\n\n\n\n");    printf("-------------航班号%s删除成功!\n",sign->airlinenum);    printf("-------------页面即将跳转...");    Sleep(1000);//    free(sign);    writefile(2);}void deleteusernum(char *airlinenum){    user *userp = uhead;    int flag;        while (userp)    {        flag = 1;        for (int i = 0; i < userp->bookcnt; i ++)        {            if (strcmp(userp->bookticks[i],airlinenum) == 0)            {                flag = i;                break;            }        }        if (flag != 1)        {            for (int j = flag; j < userp->bookcnt - 1; j ++)            {                strcpy(userp->bookticks[j],userp->bookticks[j + 1]);            }            userp->bookcnt --;        }        userp = userp->next;    }    writefile(0);}void changeairline(){    airline *airlinep = ahead1->next;    char airlinenum[2000];    int airplanenum, time, ticks;    char dep[2000], des[2000];    int exist = 0;    int flag = 0;            printf("\n\n\n\n\n\n");    FILE *fp;    fp = fopen("airline","r");    char ch;    ch = fgetc(fp);    rewind(fp);    if (ch == EOF)    {        printf("\n\n\n\n\n\n\n");        printf("-------------暂无航班信息!!");        getchar();        getchar();        return ;    }    printf("航班号\t\t飞机号\t\t出发地点\t\t目的地\t\t出发时间\t\t票数\n");    while (airlinep)    {        printf(PRINTF);        airlinep = airlinep->next;    }    airlinep = ahead;    printf("-------------请输入您要修改的航班号(按0返回):");//    getchar();    while (gets(airlinenum))    {        if (strcmp("0",airlinenum) == 0)        {            return ;        }        while (airlinep)        {            if (strcmp(airlinep->airlinenum,airlinenum) == 0)            {                exist = 1;                break;            }            airlinep = airlinep->next;        }        if (!exist)        {            airlinep = ahead;            printf("-------------未查询到该航班!请重新输入:");        } else         {            break;        }    }    if (!exist)    {        return ;    } else     {        int  choose ;        cls();        changemenu();        while (1)        {            printf("-------------请输入您要进行的操作:");            scanf("%d",&choose);            switch(choose)            {                case 1:                        printf("-------------请输入修改后的航班号:");                        scanf("%s",airlinenum);                        changeuserairline(airlinep->airlinenum,airlinenum);                        strcpy(airlinep->airlinenum,airlinenum);                        break;                case 2:                        printf("-------------请输入修改后的飞机号:");                        scanf("%lld",&airplanenum);                        airlinep->airplanenum = airplanenum;                        break;                case 3:                        printf("-------------请输入修改后的出发地点:");                        scanf("%s",dep);                        strcpy(airlinep->dep,dep);                        break;                case 4:                        printf("-------------请输入修改后的目的地:");                        scanf("%s",des);                        strcpy(airlinep->des,des);                        break;                case 5:                        printf("-------------请输入修改后的起飞时间:");                        while (scanf("%d",&time))                        {                            if (time < 1 || time > 7)                        {                            printf("-------------请输入正确的起飞时间(周一到周日用1-7表示):");                        } else                         {                            airlinep->time = time;                            break;                        }                                     }                        break;                case 6:                        printf("-------------请输入修改后的机票数:");                        while (scanf("%d",&ticks))                        {                            if (ticks <= 0)                            {                                printf("-------------请输入正确格式的机票数!");                            } else if (ticks > 999)                        {                            printf("-------------请输入0-999以内的机票数!");                            } else                             {                                airlinep->ticks = ticks;                                break;                            }                        }                        break;                case 7:                        flag = 1;                        break;            }            if (flag)            {                break;            }        }    }    writefile(2);}void changeuserairline(char *userbookticks, char *bookticks){    user *userp = uhead;    while (userp)    {        for (int i = 0; i < userp->bookcnt; i ++)        {            if (strcmp(userp->bookticks[i],userbookticks) == 0)            {                strcpy(userp->bookticks[i],bookticks);            }        }        userp = userp->next;    }    writefile(0);}void searchuser(){    user *userp = uhead;    char username[2000];    int flag = 0;        printf("-------------请输入您要查询的乘客名(按0退出):");    gets(username);    if (strcmp(username,"0") == 0)        {            return ;        }     while (userp)    {        if (strcmp(userp->username,username) == 0)        {            flag = 1;            break;        }        userp = userp->next;    }    if (!flag)    {        cls();        printf("\n\n\n\n\n\n\n");        printf("\t\t\t\t\t*******************************\n");         printf("\t\t\t\t\t**                           **\n");        printf("\t\t\t\t\t**     不存在该乘客信息!    **\n");        printf("\t\t\t\t\t**     即将跳转至上一页面... **\n");        printf("\t\t\t\t\t**                           **\n");        printf("\t\t\t\t\t*******************************\n");        Sleep(2000);        return ;     } else     {        long long int sign;        while (1)        {            cls();            printf("\n\n");            printf("\t\t\t\t\t  乘客%s的个人信息\n",userp->username);            printf("\t\t\t\t***********************************\n");            printf("\t\t\t\t           乘客账号:");            puts(userp->username);            printf("\t\t\t\t**                               **\n");            printf("\t\t\t\t           乘客密码:");            puts(userp->scert);            printf("\t\t\t\t**                               **\n");            printf("\t\t\t\t           订票次数:");            printf("%d\n",userp->bookcnt);            printf("\t\t\t\t**                               **\n");            if (userp->bookcnt)            {                printf("\t\t\t\t           订票航班号:");                for (int i = 0; i < userp->bookcnt; i ++)                 {                    printf("%s ",userp->bookticks[i]);                }                printf("\n");                printf("\t\t\t\t**                               **\n");            } else            {                printf("\t\t\t             此乘客还未预订任何航班!\n");            }            printf("请输入0返回上一页面!");            while (scanf("%lld",&sign))            {                if (sign == 0)                {                    return ;                } else                 {                    printf("无效的输入!请重新输入:");                }            }                     }    }}void bookticks(user *userp){    char airlinenum[2000];    airline *airlinep = ahead1->next;        int exist = 0;    int sign = 1;        printf("\n\n\n\n\n\n");    FILE *fp;    fp = fopen("airline","r");     char ch;    ch =  fgetc(fp);    if (ch == EOF)    {        printf("-------------暂无航班信息!!");        getchar();        return ;    }    printf("航班号\t\t飞机号\t\t出发地点\t\t目的地\t\t出发时间\t\t票数\n");    while (airlinep)    {        printf(PRINTF);        airlinep = airlinep->next;    }    printf("-------------请输入您要预订的航班号(按0退出):");    getchar();    gets(airlinenum);    airlinep = ahead;    if (strcmp("0",airlinenum) == 0)        {            return ;        }    while (airlinep)    {                if (strcmp(airlinep->airlinenum,airlinenum) == 0)        {            if (airlinep->ticks == 0)            {                printf("-------------此航班无余票!\n");                sign = 0;            } else            {                int n;                printf("-------------请输入要预订的机票数量:");                while (scanf("%d",&n))                {                    if (airlinep->ticks < n)                    {                        printf("-------------机票数量不够!请重新输入:");                    } else if (airlinep->ticks >= n)                    {                        userp->ticks += n;                         airlinep->ticks -= n;                        break;                    }                }                userp->bookcnt ++;                strcpy(userp->bookticks[userp->bookcnt - 1],airlinenum);//                userp->usertime = airlinep->time;                writefile(0);                writefile(2);                exist = 1;                break;            }        }        airlinep = airlinep->next;    }    if (exist == 0 && sign == 1)    {        printf("-------------不存在此航班!\n");    } else if (exist == 1)    {        printf("-------------航班%s订票成功!\n",airlinep->airlinenum);    }    printf("-------------页面即将跳转...");    Sleep(2000);}void returnticks(user *userp){    airline *airlinep = ahead;    char airlinenum[2000];    int exist = 0;    int flag = 0;    int cnt = userp->bookcnt;    if (cnt == 0)    {        printf("\n\n\n\n\n\n\n");        printf("\t\t\t\t\t\t您还未预订任何航班!");        getchar();        return ;    }        printf("\n\n\n\n\n\n");        for (int i = 0; i < cnt; i ++)    {        printf("-------------第%d次预订的航班号:",i + 1);        printf("%s\n",userp->bookticks[i]);    }    printf("-------------请输入要退还机票的航班号(按0退出):");        getchar();    while (gets(airlinenum))    {        if (strcmp(airlinenum,"0") == 0)        {            return ;        }        for (int i = 0; i < userp->bookcnt; i ++)        {            if (strcmp(airlinenum,userp->bookticks[i]) == 0)            {                flag = i;                exist = 1;                break;            }        }        if (!exist)        {            printf("-------------为查询到该航班号!\n");            printf("-------------请重新输入航班号(按0退出):");        } else         {            break;        }    }    int n;    while (airlinep)    {        if (strcmp(airlinep->airlinenum,airlinenum) == 0)        {            printf("-------------请输入要退订票数量:");            while (scanf("%d",&n))            {                if (userp->ticks < n)                {                    printf("-------------您未持有此数量票量!\n");                    printf("-------------请重新输入:");                } else if (userp->ticks >= n)                {                    userp->ticks -= n;                    airlinep->ticks += n;                    break;                }            }        }        airlinep = airlinep->next;    }        if (userp->ticks == 0)    {        for (int i = flag; i < userp->bookcnt - 1; i ++)        {            strcpy(userp->bookticks[i],userp->bookticks[i + 1]);        }            userp->bookcnt --;    }    writefile(0);    writefile(2);    printf("-------------%s号航班退票成功!\n",userp->bookticks[flag]);    printf("-------------即将返回上一页面...");    Sleep(2000);}void findairline(user *userp){    int cnt = userp->bookcnt;    long long  sign;    if (cnt == 0)    {        printf("\n\n\n\n\n\n\n");        printf("\t\t\t\t\t\t您还未预订任何航班!\n");    }    printf("\n\n\n\n\n\n");        for (int i = 0; i < cnt; i ++)    {        printf("\t\t\t\t\t\t第%d次预订的航班号:%s\t第%d预定航班的票数:%d\n",i + 1, userp->bookticks[i], i+1, userp->ticks);    }    printf("\n\n请输入0退出:");    while (scanf("%lld",&sign))    {        if (sign == 0)        {            break;        } else        {            printf("-------------无效的输入!请重新输入!");        }    }}void search(){    int sign;    while (1)    {        cls();        date();        searchmenu();        char choose = getch();        switch(choose)        {            case '1':                    cls();                    print_message();                    break;            case '2':                    cls();                    printairline();                    break;            case '3':                    cls();                    printtime();                    break;            case '4':                    cls();                    printticks();                    break;             case '5':                    cls();                    sign = 1;                    break;            case '6':                    cls();                    over();                    cls();            default :                    break;        }        if (sign)        {            break;        }    }}void airlinesort(){    airline *f, *x, *y, *p;    f = NULL;    if (ahead1->next == NULL || ahead1->next->next == NULL)    {        return ;    }    while (f != ahead1->next->next)    {        for (p = ahead1; p->next->next != f; p = p->next)        {            if (strcmp(p->next->airlinenum,p->next->next->airlinenum) > 0)            {                x = p->next;                y = p->next->next;                p->next = y;                x->next = y->next;                y->next = x;            }        }        f = p->next;    }    return ;}void timesort(){    airline *f, *x, *y, *p;    f = NULL;    if (ahead1->next == NULL || ahead1->next->next == NULL)    {        return ;    }    while (f != ahead1->next->next)    {        for (p = ahead1; p->next->next != f; p = p->next)        {            if (p->next->time > p->next->next->time)            {                x = p->next;                y = p->next->next;                p->next = y;                x->next = y->next;                y->next = x;            }        }        f = p->next;    }    return ;}void tickssort(){    airline *f, *x, *y, *p;    f = NULL;    if (ahead1->next == NULL || ahead1->next->next == NULL)    {        return ;    }    while (f != ahead1->next->next)    {        for (p = ahead1; p->next->next != f; p = p->next)        {            if (p->next->ticks > p->next->next->ticks)            {                x = p->next;                y = p->next->next;                p->next = y;                x->next = y->next;                y->next = x;            }        }        f = p->next;    }    return ;}void printairline(){    date();    airlinesort();    airline *airlinep = ahead1->next;    printf("\n\n\n\n\n\n");    FILE *fp;    fp = fopen("airline","r");    char ch;    ch = fgetc(fp);    rewind(fp);    if (ch == EOF)    {        printf("-------------暂无航班信息!!");        getchar();        return ;    }    printf("航班号\t\t飞机号\t\t出发地点\t\t目的地\t\t出发时间\t\t票数\n");    while (airlinep)    {        printf(PRINTF);        airlinep = airlinep->next;    }    system("pause");}void printticks(){    date();    tickssort();    airline *airlinep = ahead1->next;    printf("\n\n\n\n\n\n");    FILE *fp;    fp = fopen("airline","r");    char ch;    ch = fgetc(fp);    rewind(fp);    if (ch == EOF)    {        printf("-------------暂无航班信息!!");        getchar();        return ;    }    printf("航班号\t\t飞机号\t\t出发地点\t\t目的地\t\t出发时间\t\t票数\n");    while (airlinep)    {//        printf("666\n");        printf(PRINTF);        airlinep = airlinep->next;    }    system("pause");}void printtime(){    date();    timesort();    airline *airlinep = ahead1->next;    printf("\n\n\n\n\n\n");    FILE *fp;    fp = fopen("airline","r");    char ch;    ch = fgetc(fp);    rewind(fp);    if (ch == EOF)    {        printf("-------------暂无航班信息!!");        getchar();        return ;    }    printf("航班号\t\t飞机号\t\t出发地点\t\t目的地\t\t出发时间\t\t票数\n");    while (airlinep)    {        printf(PRINTF);        airlinep = airlinep->next;    }    system("pause");}void searchscert(){    printf("\n\n\n\n\n\n");    printf("\t\t\t\t\t********************************\n");    printf("\t\t\t\t\t**                            **\n");    printf("\t\t\t\t\t**      1.管理员找回密码      **\n");    printf("\t\t\t\t\t**                            **\n");    printf("\t\t\t\t\t**      2.乘客找回密码        **\n");    printf("\t\t\t\t\t**                            **\n");    printf("\t\t\t\t\t**      3.返回                **\n");    printf("\t\t\t\t\t**                            **\n");    printf("\t\t\t\t\t********************************\n");    printf("请按键选择:");    int sign = 0;    char choose = getch();    while (1)    {        cls();                switch (choose)        {            case '1':                    cls();                     searchmangerscert();                     sign = 1;                    break;            case '2':                    cls();                    searchuserscert();                    sign = 1;                    break;            case '3':                    sign = 1;                    break;            default :                    printf("输入无效!");                    break;        }        if (sign)        {            break;        }    }}void searchmangerscert(){    date();    manger *p = mhead;    char mangername[2000];    int flag = 0;    int sign = 0;    printf("\n\n\n\n\n\n\n");    FILE *fp;    fp = fopen("manger","r");    char ch;    ch = fgetc(fp);    rewind(fp);    if (ch == EOF)    {        printf("-------------暂无管理员账号!!\n-------------请先前往注册!");        getchar();        return ;    }    printf("-------------请输入您的账号(按0退出):");//    getchar();    while (gets(mangername))    {        if (strcmp(mangername,"0") == 0)        {            return ;        }        while (p)        {            if (strcmp(p->mangername,mangername) == 0)            {                flag = 1;                break;            }            p = p->next;         }        if (flag)        {            break;        } else        {            printf("-------------此账号不存在!请重新输入(按0退出):");            p = mhead;        }    }    if (flag)    {        p = mhead;        char securityscert[2000];        printf("-------------请输入您设置的密保(按0退出):");        while (gets(securityscert))        {            if (strcmp(securityscert,"0") == 0)            {                return ;            }            while (p)            {                if (strcmp(p->securityscert,securityscert) == 0)                {                    sign = 1;                    break;                }                p = p->next;            }            if (sign)            {                printf("-------------密保输入正确!\n");                printf("-------------您的密码为%s\n",p->scert);                getchar();                return ;            } else             {                printf("-------------密保输入错误!请重新输入(按0退出):");                p = mhead;            }        }    }}void searchuserscert(){    date();    user *p = uhead;    char username[2000];    int flag = 0;    int sign = 0;    printf("\n\n\n\n\n\n\n");    FILE *fp;    fp = fopen("user","r");    char ch;    ch = fgetc(fp);    rewind(fp);    if (ch == EOF)    {        printf("-------------暂无乘客账号!!\n-------------请先前往注册!");        getchar();        return ;    }    printf("-------------请输入您的账号(按0退出):");//    getchar();    while (gets(username))    {        if (strcmp(username,"0") == 0)        {            return ;        }        while (p)        {            if (strcmp(p->username,username) == 0)            {                flag = 1;                break;            }            p = p->next;         }        if (flag)        {            break;        } else        {            printf("-------------此账号不存在!请重新输入(按0退出):");            p = uhead;        }    }    if (flag)    {        p = uhead;        char securityscert[2000];        printf("-------------请输入您设置的密保(按0退出):");        while (gets(securityscert))        {            if (strcmp(securityscert,"0") == 0)            {                return ;            }            while (p)            {                if (strcmp(p->securityscert,securityscert) == 0)                {                    sign = 1;                    break;                }                p = p->next;            }            if (sign)            {                printf("-------------密保输入正确!\n");                printf("-------------您的密码为%s\n",p->scert);                getchar();                return ;            } else             {                printf("-------------密保输入错误!请重新输入(按0退出):");                p = uhead;            }        }    }}void changescert(){    printf("\n\n\n\n\n\n");    printf("\t\t\t\t\t********************************\n");    printf("\t\t\t\t\t**                            **\n");    printf("\t\t\t\t\t**      1.管理员修改密码      **\n");    printf("\t\t\t\t\t**                            **\n");    printf("\t\t\t\t\t**      2.乘客修改密码        **\n");    printf("\t\t\t\t\t**                            **\n");    printf("\t\t\t\t\t**      3.返回                **\n");    printf("\t\t\t\t\t**                            **\n");    printf("\t\t\t\t\t********************************\n");    printf("请按键选择:");    char choose = getch();    int sign = 0;     while (1)    {        cls();        switch (choose)        {            case '1':                    cls();                     changemangerscert();                     sign = 1;                    break;            case '2':                    cls();                    changeuserscert();                    sign = 1;                    break;            case '3':                    sign = 1;                    break;            default :                    printf("输入无效!");                    break;        }        if (sign)        {            break;        }    }}void changemangerscert(){    date();    manger *p = mhead;    char mangername[2000];    char scert[2000];    int flag = 0;    int sign = 0;    char securityscert[2000];    FILE *fp;    fp = fopen("manger","r");    char ch;    ch = fgetc(fp);    rewind(fp);    if (ch == EOF)    {        printf("-------------暂无管理员账号信息!!\n-------------请先前往注册!");        getchar();        return ;     }    printf("\n\n\n\n\n\n\n");    printf("-------------请输入您的账号(按0退出):");    while (gets(mangername))    {        if (strcmp(mangername,"0") == 0)        {            return ;        }        while (p)        {            if (strcmp(p->mangername,mangername) == 0)            {                flag = 1;                break;            }            p = p->next;         }        if (flag)        {            break;        } else        {            printf("-------------此账号不存在!请重新输入:");            p = mhead;        }    }    if (flag)    {        p = mhead;        printf("-------------请输入您设置的密保(按0退出):");        while (gets(securityscert))        {            if (strcmp(securityscert,"0") == 0)            {                return ;            }            while (p)            {                if (strcmp(p->securityscert,securityscert) == 0)                {                    sign = 1;                    break;                }                p = p->next;            }            if (sign)            {                printf("-------------请输入修改后的密码(按0退出):");                while (gets(scert))                {                    if (strcmp(scert,"0") == 0)                    {                        return ;                    }                     if (strlen(scert) <= 16)                    {                        break;                    } else                     {                        printf("-------------请输入1到16位的密码:");                    }                }                strcpy(p->scert,scert);                printf("-------------密码修改成功!");                writefile(1);                getchar();                return ;            } else             {                printf("-------------密保输入错误!请重新输入:");                p = mhead;            }        }    }}void changeuserscert(){    date();    user *p = uhead;    char username[2000];    char scert[2000];    char securityscert[2000];    int flag = 0;    int sign = 0;    FILE *fp;    fp = fopen("user","r");    char ch;    ch = fgetc(fp);    rewind(fp);    if (ch == EOF)    {        printf("-------------暂无管理员账号信息!!\n-------------请先前往注册!");        getchar();        return ;     }    printf("\n\n\n\n\n\n\n");    printf("-------------请输入您的账号(按0退出):");    while (gets(username))    {        if (strcmp(username,"0") == 0)        {            return ;        }        while (p)        {            if (strcmp(p->username,username) == 0)            {                flag = 1;                break;            }            p = p->next;         }        if (flag)        {            break;        } else        {            printf("-------------此账号不存在!请重新输入:");            p = uhead;        }    }    if (flag)    {        p = uhead;        printf("-------------请输入您设置的密保(按0退出):");        while (gets(securityscert))        {            if (strcmp(securityscert,"0") == 0)            {                return ;            }            while (p)            {                if (strcmp(p->securityscert,securityscert) == 0)                {                    sign = 1;                    break;                }                p = p->next;            }            if (sign)            {                printf("-------------请输入修改后的密码(按0退出):");                while (gets(scert))                {                    if (strcmp(scert,"0") == 0)                    {                        return ;                    }                     if (strlen(scert) <= 16)                    {                        break;                    } else                     {                        printf("-------------请输入1到16位的密码:");                    }                }                strcpy(p->scert,scert);                printf("-------------密码修改成功!");                writefile(0);                getchar();                return ;            } else             {                printf("-------------密保输入错误!请重新输入:");                p = uhead;            }        }    }}void print_message(){    date();    airline *airlinep = ahead1->next;    printf("\n\n\n\n\n\n");    FILE *fp;    fp = fopen("airline","r");    char ch;    ch = fgetc(fp);    rewind(fp);    if (ch == EOF)    {        printf("-------------暂无航班信息!!");        getchar();        return ;    }    printf("航班号\t\t飞机号\t\t出发地点\t\t目的地\t\t出发时间\t\t票数\n");    while (airlinep)    {//        printf("666\n");        printf(PRINTF);        airlinep = airlinep->next;    }    system("pause");}void hualihushao1(){    printf("\n\n\n\n\n\n\n\n\n\n\n\n");    printf("\t\t\t\t\t\t即将进入订票系统...");    system("color 40");    Sleep(250);    system("color 04");    Sleep(250);    system("color 60");    Sleep(250);    system("color 24");    Sleep(250);    system("color AF");    Sleep(250);    system("color 92");    Sleep(250);    system("color 57");    Sleep(250);    system("color F4");    Sleep(250);    system("color F4");    Sleep(250);}void hualihushao2(){    printf("\n\n\n\n\n\n\n\n\n\n\n\n");    printf("\t\t\t\t\t\t订票系统即将关闭...");    system("color 40");    Sleep(250);    system("color 04");    Sleep(250);    system("color 60");    Sleep(250);    system("color 24");    Sleep(250);    system("color AF");    Sleep(250);    system("color 92");    Sleep(250);    system("color 57");    Sleep(250);    system("color F4");    Sleep(250);    system("color F4");    Sleep(250);}void load(){    system("color 8b"); //F1    cout << "\n\n\n\n\n\n\n\n\n\n\n\n";    cout << "\t\t\t\t\t正在进入系统..请稍等...";    for (int i = 0; i <= 100; i += 2)    {        cout << "\r\t\t\t\t\t\t\t\t" << i << "%";        Sleep(50);        if (i == 48)        {            Sleep(1000);        }        if (i == 76)        {            Sleep(800);        }        if (i == 100)        {            Sleep(500);        }    }

“C语言如何实现航空订票系统”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

--结束END--

本文标题: C语言如何实现航空订票系统

本文链接: https://www.lsjlt.com/news/324768.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • C语言如何实现航空订票系统
    本篇内容介绍了“C语言如何实现航空订票系统”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!利用二进制将一整个结构体中的数据存入文件,然后读取文...
    99+
    2023-06-29
  • C语言实现航空订票系统课程设计
    本文实例为大家分享了C语言实现航空订票系统的具体代码,供大家参考,具体内容如下 大一写的时候没有写注释,后来也懒得加了。在这里说一下读写文件的思路吧。 就是利用二进制将一整个结构体中...
    99+
    2024-04-02
  • 如何使用C++实现航空订票系统课程
    这篇文章主要介绍如何使用C++实现航空订票系统课程,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!具体内容如下一、题目1.录入功能可以录入航班信息(如航班号,起飞降落时间,城市,座位数,票价)2.查询功能可以查询航班的...
    99+
    2023-06-29
  • C++实现航空订票系统课程设计
    本文实例为大家分享了C++实现航空订票系统的具体代码,供大家参考,具体内容如下 一、题目 1.录入功能 可以录入航班信息(如航班号,起飞降落时间,城市,座位数,票价) 2.查询功能 ...
    99+
    2024-04-02
  • C语言实现火车订票系统
    本文实例为大家分享了C语言实现火车订票系统的具体代码,供大家参考,具体内容如下 程序介绍 1.运行程序时,首先进入到菜单部分,菜单部分提供了菜单显示和输入功能部分。其运行效果如图所示...
    99+
    2022-11-13
    C语言火车订票系统 C语言火车订票 C语言订票系统
  • 如何使用C语言实现飞机订票系统
    这篇文章主要介绍了如何使用C语言实现飞机订票系统的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇如何使用C语言实现飞机订票系统文章都会有所收获,下面我们一起来看看吧。总体设计和需求分析设计目的怎样去合理的设计一个...
    99+
    2023-07-02
  • C#如何实现航班预订系统
    本篇内容介绍了“C#如何实现航班预订系统”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!连接数据库using System;usin...
    99+
    2023-06-30
  • C语言如何实现车票管理系统
    今天小编给大家分享一下C语言如何实现车票管理系统的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。一、项目简介设计一个车票管理系...
    99+
    2023-06-30
  • C语言实现飞机订票系统的完整代码
    目录题目总体设计和需求分析设计目的总体设计和功能结构体设计机票信息结构体主函数的设计各功能代码的实现前置添加机票查找机票信息修改机票信息显示机票信息推荐机票信息订票退票保存信息显示时...
    99+
    2024-04-02
  • C++实现飞机订票系统
    本文实例为大家分享了C++实现飞机订票系统的具体代码,供大家参考,具体内容如下 // 飞机订票系统.cpp : 定义控制台应用程序的入口点。 // #include "stdafx...
    99+
    2024-04-02
  • 如何使用C++实现飞机订票系统
    小编给大家分享一下如何使用C++实现飞机订票系统,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!具体内容如下// 飞机订票系统.cpp :&nb...
    99+
    2023-06-29
  • C语言如何实现飞机售票系统
    本文小编为大家详细介绍“C语言如何实现飞机售票系统”,内容详细,步骤清晰,细节处理妥当,希望这篇“C语言如何实现飞机售票系统”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。一、项目简介通过“航空售票系统”C语言课程...
    99+
    2023-06-30
  • C#实现航班预订系统
    本文实例为大家分享了C#实现航班预订的具体代码,供大家参考,具体内容如下 连接数据库 using System; using System.Collections.Generic; ...
    99+
    2024-04-02
  • C语言实现飞机售票系统
    本文实例为大家分享了C语言实现飞机售票系统的具体代码,供大家参考,具体内容如下 一、项目简介 通过“航空售票系统”C语言课程设计的实践,掌握函数、数据的读取和...
    99+
    2024-04-02
  • C语言实现车票管理系统
    本文实例为大家分享了C语言实现车票管理系统的具体代码,供大家参考,具体内容如下 一、项目简介 设计一个车票管理系统实现录入、查看班次信息,售票,退票等基本功能。设计中要求综合运用所学...
    99+
    2024-04-02
  • C语言实现简易订餐系统
    本文实例为大家分享了C语言实现简易订餐系统的具体代码,供大家参考,具体内容如下 主要功能: (1)菜单维护(餐厅管理人员使用)采用顺序表实现 1、添加新菜 2、删除菜品 3、修改菜品...
    99+
    2024-04-02
  • C语言如何实现酒店预订管理系统
    这篇“C语言如何实现酒店预订管理系统”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“C语言如何实现酒店预订管理系统”文章吧。课...
    99+
    2023-06-30
  • C语言实现火车票管理系统
    本文为大家分享了C语言实现火车票管理系统课程设计的具体代码,供大家参考,具体内容如下 1、前言 这是大一刚学C语言一个学期完成的课设项目,里面的功能还可以进一步的完善,仅供分享、参考...
    99+
    2024-04-02
  • Java如何实现电影院订票系统
    小编给大家分享一下Java如何实现电影院订票系统,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!程序是为了方便用户使用的,因此实现图形化界面的程序编写是所有编程语言发展的必然趋势。。。但是由于时间原因,小编并未在代码中添加可...
    99+
    2023-05-30
    java
  • C语言实现电话订餐管理系统
    本文实例为大家分享了C语言实现电话订餐管理系统的具体代码,供大家参考,具体内容如下 这是我C语言课程设计的题目。非常奇怪啊,下面的代码能在C-Free中跑起来,却没办法在vc++6....
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作