首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何让案例2记住案例1保存在文件中的内容?

如何让案例2记住案例1保存在文件中的内容?
EN

Stack Overflow用户
提问于 2014-03-01 17:51:40
回答 1查看 41关注 0票数 0

我已经制作了我自己的程序。

案例1:

代码语言:javascript
复制
            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:

代码语言:javascript
复制
            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。现在我该怎么办?

EN

回答 1

Stack Overflow用户

发布于 2014-03-01 19:11:52

您可能没有在这里发布完整的代码,但是查看这里的一些代码,这里有一个数组bus_inumber[],它可能是局部的或全局的,这可能是问题的关键因素。

可能的问题可能如下所示

在程序的运行状态期间,您已经为输入总线信息的总线编号设置了状态1,现在在保留时间,如果设置为1,则检查该总线状态,然后执行reservation.So此逻辑,直到您的程序加载到内存中,但它关闭并重新运行,然后bus_inumber[]再次初始化(可能为0)。

现在,您需要在这里将bus_inumber[]保存在某个文件中,并在运行程序中使用文件数据初始化此数组。

另外,发布更多的代码,这样我们就可以获得idea.and,这并不像你目前所做的那样简单,因为程序可能与bus reservation system或其他东西有关,它需要大量的验证和错误检查机制。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22112754

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档