我已经制作了我自己的程序。
案例1:
Records[0] = fopen("Records.txt", "r+"); // read mode
Records[1] = fopen("Records1.txt", "r+");
Records[2] = fopen("Records2.txt", "r+");
Records[3] = fopen("Records3.txt", "r+");
Records[4] = fopen("Records4.txt", "r+");
Records[5] = fopen("Records5.txt", "r+");
Records[6] = fopen("Records6.txt", "r+");
Records[7] = fopen("Records7.txt", "r+");
Records[8] = fopen("Records8.txt", "r+");
Records[9] = fopen("Records9.txt", "r+");
Records[10] = fopen("Records10.txt", "r+");
printf("\n\t\tEnter bus no: ");
scanf("%d", &bus);
if(bus_inumber[bus]==0)
{
printf("\t\tEnter Driver's name: ");
scanf("%s", name[bus]);
printf("\t\tArrival time: ");
scanf("%d", &arrival[bus]);
printf("\t\tDeparture: ");
scanf("%d", &departure[bus]);
printf("\t\tFrom: ");
scanf("%s", from[bus]);
printf("\t\tTo: ");
scanf("%s", to[bus]);
input=1;
bus_inumber[bus]=1;
fprintf(Records[bus], "\nBus no:\t%d \nDriver:\t%s \tArrival Time:\t%d \tDeparture Time:\t%d \nFrom:\t%s\t \tTo:\t%s\n", bus, name[bus], arrival[bus], departure[bus], from[bus], to[bus]);
fclose(Records[bus]);
}
else
{
printf("\t\t\n\t\t||||||This bus number already registered by %s||||||\n", name[bus]);
}
}break;我使用案例1(上面)将我的总线保存到文件中。
案例2:
Records[0] = fopen("Records.txt", "r"); // read mode
Records[1] = fopen("Records1.txt", "r");
Records[2] = fopen("Records2.txt", "r");
Records[3] = fopen("Records3.txt", "r");
Records[4] = fopen("Records4.txt", "r");
Records[5] = fopen("Records5.txt", "r");
Records[6] = fopen("Records6.txt", "r");
Records[7] = fopen("Records7.txt", "r");
Records[8] = fopen("Records8.txt", "r");
Records[9] = fopen("Records9.txt", "r");
Records[10] = fopen("Records10.txt", "r");
Reservation[0] = fopen("Reservation.txt", "r+"); // read mode
Reservation[1] = fopen("Reservation1.txt", "r+");
Reservation[2] = fopen("Reservation2.txt", "r+");
Reservation[3] = fopen("Reservation3.txt", "r+");
Reservation[4] = fopen("Reservation4.txt", "r+");
Reservation[5] = fopen("Reservation5.txt", "r+");
Reservation[6] = fopen("Reservation6.txt", "r+");
Reservation[7] = fopen("Reservation7.txt", "r+");
Reservation[8] = fopen("Reservation8.txt", "r+");
Reservation[9] = fopen("Reservation9.txt", "r+");
Reservation[10] = fopen("Reservation10.txt", "r+");
printf("\t\tBus no: ");
scanf("%d", &bus);
if(bus_inumber[bus]==1)
{
printf("\t\tSeat number: ");
scanf("%d", &seat);
while(bus_seat[bus][seat]==1)
{
printf("\t\tThis seat number has already been registered\n\t\tPlease choose another seat number:");
scanf("%d", &seat);
}
bus_seat[bus][seat]=1;
printf("\t\tEnter passenger's name: ");
scanf("%s", pname[bus][seat]);
for(seat=1;seat<31;seat++)
fprintf(Reservation[bus], "\n%d \t%s" ,seat,pname[bus][seat] );
fclose(Reservation[bus]);
}
else
printf("\t\tSorry, this bus is not operating yet.\n\t\tPlease install the bus to register.\n");
}break;我使用案例2(上面)来预订我在公共汽车上的座位。
我的问题是,当我关闭程序并再次打开它时,case 2记不住我早先安装的总线。当我选择情况2并选择总线no:1时,它告诉我总线还没有运行。但是在我选择第二种情况之前,我只是安装了总线编号:1。现在我该怎么办?
发布于 2014-03-01 19:11:52
您可能没有在这里发布完整的代码,但是查看这里的一些代码,这里有一个数组bus_inumber[],它可能是局部的或全局的,这可能是问题的关键因素。
可能的问题可能如下所示
在程序的运行状态期间,您已经为输入总线信息的总线编号设置了状态1,现在在保留时间,如果设置为1,则检查该总线状态,然后执行reservation.So此逻辑,直到您的程序加载到内存中,但它关闭并重新运行,然后bus_inumber[]再次初始化(可能为0)。
现在,您需要在这里将bus_inumber[]保存在某个文件中,并在运行程序中使用文件数据初始化此数组。
另外,发布更多的代码,这样我们就可以获得idea.and,这并不像你目前所做的那样简单,因为程序可能与bus reservation system或其他东西有关,它需要大量的验证和错误检查机制。
https://stackoverflow.com/questions/22112754
复制相似问题