|
|
[交流]
【求助】我有一火车票订购系统程序,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);
} |
|