24小时热门版块排行榜    

查看: 1402  |  回复: 2

devilstian

金虫 (初入文坛)

[交流] 【求助】我有一火车票订购系统程序,Microsoft Visual C++ 6.0环境运行的,哪位大侠帮 已有2人参与

我有一火车票订购系统程序,Microsoft Visual C++ 6.0环境运行的,哪位大侠帮忙改改
#include
#include
#include
#include
#define SIZE 3
#define FORMAT " %-3d\t %-6s\t\t%-6s\t  %-6s     %-10d  %-10d  %-d\n"
struct busses
{ int num;
char outtime[6];
char startplace[10];
char endplace[10];
int runtime;
int carry;
int crush;}bus[SIZE];
int n,j,n1=0,a=0;
void welcome();
void append();
void browse();
void query();
void info();
void modify();
void buyticket();
void backticket();
void exitsystem();
void see();
void main()
{welcome();
loop1:textcolor(15);
   textbackground(1);
   clrscr();
   printf("\n");
   printf("\t\t\t  * * * * * * * * * * * * * *\n");
   printf("\t\t\t  *       车票管理系统      *\n");
   printf("\t\t\t  * * * * * * * * * * * * * *\n");
   printf("--------------------------------------------------------------------------------");
   printf("\t\t 输入数据:Input  information...........1\n");
   printf("\t\t 浏览信息:Browse information...........2\n");
   printf("\t\t 追加数据:Append information...........3\n");
   printf("\t\t 查询信息:Query  information...........4\n");
   printf("\t\t 修改数据:Modify information...........5\n");
   printf("\t\t 订购车票:Buy    ticket     ...........6\n");
   printf("\t\t 退订车票:Return ticket     ...........7\n");
   printf("\t\t 退出系统:Exit   system     ...........8\n");
   printf("--------------------------------------------------------------------------------");
   printf("请在(1-8)之间选择您要的操作:");
   scanf("%d",&n);
    while(sizeof(n)!=2 || n<=0 || n>8 )
       {
          printf("您输入的数据超过1-8!\n");
          printf("请重新输入:");
          scanf("%*c%d",&n);
       }
  switch(n)
    {
      case 1:info();break;
      case 2:browse();break;
      case 3:printf("添加车次!\n\n请输入您要添加的记录数:");scanf("%d",&n1);for(j=0;j       case 4:query();break;
      case 5:modify();break;
      case 6:buyticket();break;
      case 7:backticket();break;
      case 8:exitsystem();break;
    }
goto loop1;
}
void append()
{int i=a;
  printf("请输入班次:\nNo:");
   scanf("%d",&bus.num);
  printf("请输入发车时间:");
   scanf("%s",bus.outtime);
  printf("请输入起点:");
   scanf("%s",bus.startplace);
  printf("请输入终点:");
   scanf("%s",bus.endplace);
  printf("请输入行车时间:");
   scanf("%d",&bus.runtime);
  printf("请输入额定载量:");
   scanf("%d",&bus.carry);
  printf("请输入实际人数:");
   scanf("%d",&bus.crush);
  printf("车次\t发车时间\t起点\t  终点    行车时间    额定载量    实际人数\n");
  printf(FORMAT,bus.num,bus.outtime,bus.startplace,bus.endplace,\
  bus.runtime,bus.carry,bus.crush);
  a++;
  sleep(1);
  return;
}
void info()
{
  int i;
  for(i=0;i      {
  append();
     }
  printf("按任意健回主界面...");
  getch();
  return;
}
void browse()
{ int i;
   printf("车次\t发车时间\t起点\t  终点    行车时间    额定载量    实际人数\n");
    for(i=0;i      { printf(FORMAT,bus.num,bus.outtime,bus.startplace,bus.endplace,\
       bus.runtime,bus.carry,bus.crush);
     }
  printf("按任意健回主界面...");
  getch();
  return;
  }
void query()
  {
     int num,i;
     char ch;
    loop:printf("请输入班次:");
     scanf("%d",&num);
     for(i=0;i        if(num==bus.num)
        {
         printf("您所要查询的信息为:\n");
          printf("车次\t发车时间\t起点\t  终点    行车时间    额定载量    实际人数\n");
         printf(FORMAT,bus.num,bus.outtime,bus.startplace,\
         bus.endplace,bus.runtime,bus.carry,bus.crush);
        }
   if(num>a || num<0)
     {
      loop9: printf("您输入的班次错误,是否重新输入(Y/N):");
        scanf("%*c%c",&ch);
      if(ch=='Y' || ch=='y')
         goto loop;
      else
         if (ch=='N' || ch=='n')
           return;
         else
           goto loop9;
     }
   else
     {
      printf("按任意健回主界面...");
      getch();
      return;
     }
  }

void buyticket()
  { char ch;
    int num,i;
loop2:see();
    printf("请输入购票车次:");
    scanf("%d",&num);
  for(i=0;i      if(num==bus.num)
        break;
     if(i>=a)
     {printf("没找到您所要购票的车次,请重新输入:\n");goto loop2;
     }
if(bus.carry>bus.crush && strcmp(bus.outtime,"10:00")>0)
        {
  bus.crush++;
  printf("购票成功!\n");
         see();
        }
      else
        printf("人数已满或车已发出,不能购买车票!\n");
loop10:printf("您是否要继续购买车票(Y/N):");
  scanf("%*c%c",&ch);
    if(ch=='Y' || ch=='y')
     goto loop2;
    else
      if (ch=='N' || ch=='n')
return;
      else
goto loop10;

}
void backticket()
  {
   int i,num;
   char ch;

loop3:see();
      printf("请输入退票车次:");
      scanf("%d",&num);
      for(i=0;i       if(num==bus.num)
        break;
      if(i>=a)
       {printf("没找到您所要退票的车次,请重新输入!\n\n");
        goto loop3;
       }
       if(strcmp(bus.outtime,"10:00")>0)
   {bus.crush--;
    printf("退票成功!\n");
           see();
   }
       else
          printf("车已发出,不能退票!\n");
loop11:printf("您是否要继续退票(Y/N)");
    scanf("%*c%c",&ch);
    if(ch=='Y' || ch=='y')
      goto loop3;
    else
      if (ch=='N' || ch=='n')
  return;
      else
  goto loop11;

}

void modify()
  {
   int num,i,t;
   char ch;
   t=a;
   printf("车次\t发车时间\t起点\t  终点    行车时间    额定载量    实际人数\n");
   for(i=0;i        printf(FORMAT,bus.num,bus.outtime,bus.startplace,bus.endplace,\
       bus.runtime,bus.carry,bus.crush);
loop5:printf("请输入修改车次:");
  scanf("%d",&num);
  for(i=0;i   if(num==bus.num) break;
  if(i>=t)
    {printf("没找到您所要退票的车次,请重新输入:\n");
     goto loop5;
    }
  printf(FORMAT,bus.num,bus.outtime,bus.startplace,bus.endplace,\
  bus.runtime,bus.carry,bus.crush);
  printf("请输入修改信息:\n");
  a=i;
  append();
  printf("您是否需要继续输入(Y/N):");
  scanf("%*c%c",&ch);
loop12:if(ch=='Y' || ch=='y')
      goto loop5;
    else
      if (ch=='N' || ch=='n')
{a=t;
return;}
      else
  goto loop12;
}
void see()
{ int i;
   printf("车次\t发车时间\t起点\t  终点    行车时间    额定载量    实际人数\n");
    for(i=0;i      { printf(FORMAT,bus.num,bus.outtime,bus.startplace,bus.endplace,\
       bus.runtime,bus.carry,bus.crush);
     }
}
void welcome()
{int i,j;
char str[30]={"欢迎使用车票管理系统!"};
textcolor(6);
textbackground(0);
clrscr();
for(i=0;str!='\0';i+=2)
    {for(j=30+i;j>2;j--)
{
  delay(3000);
  gotoxy(30+i,3);
  printf("%c%c",str,str[i+1]);
}
    }
gotoxy(40,6);
printf("研发小组:江刚,李勇,杨洪燕");
gotoxy(30,13);
printf("按任意健进入系统...");
getch();

}
void exitsystem()
{int i;
clrscr();
for (i=0;i<15;i++)
{delay(100000);

  textcolor(i);clrscr();
  gotoxy(30,12);
  printf("谢谢使用车票管理系统!");
}

window(45,25,65,25);
textcolor(15);clrscr();
printf("按任意键退出系统...");
getch();
exit(0);
}
回复此楼
给我三千城管,还你世界和平!
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

jjdg

版主 (知名作家)

优秀版主

改什么?
努力学习!以正当途径!获得需要的知识!
2楼2011-04-09 19:13:09
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

womeikongya

金虫 (初入文坛)

★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
余泽成(金币+1): 谢谢参与应助,欢迎常来程序语言版! 2011-04-20 22:33:45
有什么问题,怎么操作的,会有什么问题
自己想要什么效果
提问你都不会问啊?
你这样问谁能给你解答啊?
话说你还真爱用goto的!!
每天早上叫醒你的不是闹钟,而是梦想!
3楼2011-04-10 13:19:48
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 devilstian 的主题更新
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见