首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

前辈帮忙用C语言写个程序吧

2012-06-07 
求助:前辈帮忙用C语言写个程序吧!飞机订票系统设计本飞机共有80个坐位,分20排,每排4个位子。编号为A,B,C,D。

求助:前辈帮忙用C语言写个程序吧!
飞机订票系统设计
  本飞机共有80个坐位,分20排,每排4个位子。编号为A,B,C,D。如10D表示10排D座。A和D靠窗,19到20排为吸烟区。本系统可让乘客自己选座号和区域,直到乘客满意为止,无法满足的话,只能改乘另一个航班。定上票的乘客需给出姓名和身份证号,最后要打印出乘客清单。
  各位帮帮忙好吗?

[解决办法]
作业贴?
[解决办法]
作业还是要自己写好的……
[解决办法]
就这么几个数,自己搞个随即取数,用户满意,就ok,不满意继续录入新的数字
[解决办法]
这个简单

C/C++ code
typedef struct XXX{    char k;        /*0表示无人,1表示有人*/    char Name[30];    char Code[20];}SB;SB Set[20][4];void Select();      /*选座位*/void ShowList();    /*显示清单*/void Menu();        /*菜单*/int  YNSelect(char *info,int cls);/*yes-No选择*/void ShowNull(int window,int smoken); /*显示满足条件位置清单*/  void main(){    char key=0;    int  Run=1;    memset(Set,0,80*sizeof(SB));    while(Run)    {        Menu();        key=getchar();        switch(key)        {            case '1':Select();break;            case '2':ShowList();break;            case '3':Run=0;break;        }    }}int  YNSelect(char *info,int cls){    char key;    while(1)    {         if(cls) system("cls");         printf("\n%s  Y/y - 要   N/n - 不要\n",info);         key=getchar();         if(key=='Y'||key=='y') return 1;         if(key=='N'||key=='n') return 0;    }}void ShowNull(int window,int smoken){    int i,j;    system("cls")    printf("符合你条件的座位有:\n")    for(j=0;j<20;j++)    for(i=0;i<4;i++)    {          Con1=((window==1)&&(i==0||i==3))||(window==0);        Con2=((smoken==1)&&(j>=19))||(smoken==0);        Con3=(Set[j][i].k==0);        if(Con1&&Con2&&Con3)            printf("\n %d%c : 无人可选 ",j,'A'+i);     }}void Select(){   char isWin=0;   char isSmk=0;   char isOK=0;   int  Con1,Con2,con3;   int  i,j;   int  LOOP=1;   while(LOOP)   {       isWin=YNSelect("要靠窗口边吗?",1);       isSmk=YNSelect("要吸烟吗?",1);       ShowNull(isWin,isSmk)       isOK=YNSelect("有你觉得合适的吗?",0);       if(isOK==0)           LOOP=YNSelect("还要继续选吗?",0);       else       {           printf("\n请输入座位排号:");           fscanf("%d",&j);           printf("\n请输入座位号:");            fscanf("%d",&i);           printf("\n请输入姓名:");            fscanf("%s",Set[j][i].Name);           printf("\n请输身份证号:");            fscanf("%s",Set[j][i].Code);           Set[j][i].k=1;           LOOP=0;       }     }}void ShowList(){    int i,j;    system("cls");    printf("\n整机位置分配状况清单:\n");    for(j=0;j<20;j++)    for(i=0;i<4;i++)    {        printf("\n %d%c位置: ",j,'A'+i);        if(Set[j][i].k==0) printf("没人")        else printf("%s   %s",Set[j][i].Name,Set[j][i].Code);     }     }void Menu(){    system("cls");    printf("\n 飞机票订票系统\n");    printf("\n 1 - 选择座位");    printf("\n 2 - 查看清单");    printf("\n 3 - 退出系统");    printf("\n\n 请选择\n");}
[解决办法]
经过本人调试,这个才是完整的正确的
调试环境:VC6.0控制台

C/C++ code
#include "stdio.h"#include "stdlib.h"#include "string.h"#include "conio.h"typedef struct XXX{    char k;          /* 0表示无人,1表示有人       */    char n;          /* 0表示可选,1表示不复合条件 */    char Name[30];    char Code[20];}SB;SB    Set[20][4];void Select();                        /*选座位*/void ShowList();                      /*显示位置详细清单*/void Menu();                          /*菜单*/int  YNSelect(char *info,int cls);    /*yes-No选择*/void ShowNull(int window,int smoken); /*显示满足条件的位置索引*/void InputInfo();                     /*输入乘客资料*/  void main(){    char key=0;    int  Run=1;    memset(Set,0,80*sizeof(SB));    while(Run)    {        Menu();        key=getch();        switch(key)        {            case '1':Select();break;            case '2':ShowList();break;            case '3':Run=0;break;        }    }}int  YNSelect(char *info,int cls){    char key;    if(cls) system("cls");    else printf("\n");    printf("\n%s  Y/y - 要   N/n - 不要",info);    while(1)    {         key=getch();         if(key=='Y'||key=='y') return 1;         if(key=='N'||key=='n') return 0;    }}void ShowNull(int window,int smoken){    int i,j;    int Con1,Con2,Con3;    int count=0;    system("cls");    printf("符合你条件的座位有:\n\n");    for(j=0;j<20;j++)    for(i=0;i<4;i++)    {          Con1=((window==1)&&(i==0||i==3))||(window==0);        Con2=((smoken==1)&&(j>=19))||(smoken==0);        Con3=(Set[j][i].k==0);        if(Con1&&Con2&&Con3)        {           Set[j][i].n=0;           printf(" %2d%c  ",j+1,'A'+i);        }        else        {           Set[j][i].n=1;           printf(" ---  ");        }        count++;        if(count%4==0) printf("\n");     }}void Select(){   char isWin=0;   char isSmk=0;   char isOK=0;   int  LOOP=1;   while(LOOP)   {       isWin=YNSelect("要靠窗口边吗?",1);       isSmk=YNSelect("要吸烟吗?",1);       ShowNull(isWin,isSmk);       isOK=YNSelect("要选择位置吗?",0);       if(isOK==0)           LOOP=YNSelect("还要继续选吗?",0);       else       {           InputInfo();           LOOP=0;       }     }}void InputInfo(){    char ch[10]={0};    int  x,y;    int  i=0;    printf("\n\n请输入座位编号:");    scanf("%s",ch);        while(i<10)    {      if(ch[i]<'0'||ch[i]>'9')       {          x=ch[i];          ch[i]=0;          break;      }      i++;    }    y=atoi(ch)-1;    if(x>='A'&&x<='D') x-='A';    else if(x>='a'&&x<='d') x-='a';    else x=-1;    if(y<0||y>19||x==-1)    {        printf("\n输入错误!!!按任意键返回");        getch();        return;    }    if(Set[y][x].n)    {        printf("\n不符和选择条件!按任意键返回");        getch();    }    else    {        printf("\n请输入姓名:");         scanf("%s",Set[y][x].Name);        printf("\n请输身份证号:");         scanf("%s",Set[y][x].Code);        Set[y][x].k=1;        printf("\n\n登记成功!\n\n%s同学,您的座位是:%2d%c.请准时登机",Set[y][x].Name,y+1,'A'+x);        printf("\n\n按任意键返回");        getch();    }}void ShowList(){    int i,j;    int count=0;    system("cls");    printf("\n整机位置分配状况清单:\n");    for(j=0;j<20;j++)    for(i=0;i<4;i++)    {        printf("\n %2d%c位置: ",j+1,'A'+i);        if(Set[j][i].k==0) printf("没人");        else printf("%s   %s",Set[j][i].Name,Set[j][i].Code);        count++;        if(count%11==0)         {            printf("\n\n按ESC键返回,其他键继续.");            if(getch()==27) return;            system("cls");            printf("\n整机位置分配状况清单:\n");        }    }    printf("\n\n信息全部结束,按ESC键返回");    while(getch()!=27);}void Menu(){    system("cls");    printf("\n 飞机票订票系统\n");    printf("\n 1 - 选择座位");    printf("\n 2 - 查看清单");    printf("\n 3 - 退出系统");    printf("\n\n 请选择\n");} 

热点排行
Bad Request.