| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 927 人关注过本帖
标题:如何一屏一屏显示?
取消只看楼主 加入收藏
小小小虾米
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2016-7-18
结帖率:0
收藏
 问题点数:0 回复次数:0 
如何一屏一屏显示?
    case '4': {
        int n=0, flag;    char ch[30];    FILE *fp, *fpIdx;
        SellTab t;      // 定义课程表的结构体变量t
        SellIdxTab tIdx;      // 定义课程索引表的结构体变量tIdx
        if ((fp=fopen(".\\4806SPXX.dat", "rb"))==0) {
            printf("\n\nCannot open COURSE data file!\n");
            break;
        }
        if ((fpIdx=fopen(".\\4806SPXX.idx", "rb"))!=0) flag=1;    // 判断课程文件是否存在索引文件
        else flag=0;
        if (flag) {  // 选择是否利用索引文件进行逻辑排序显示
            do {
                printf("\n\n\n\t\t 逻辑使用索引文件?(y/n): ");
                gets(ch);
            } while (!(ch[0]=='y' || ch[0]=='n' || ch[0]=='Y' || ch[0]=='N'));
            if (ch[0]=='n' || ch[0]=='N') { fclose(fpIdx);  flag=0; }
        }
        system("cls");
        // 在屏幕上列表显示课程信息,首先显示表头信息
        printf("\n电影票编号   排片编号     退票标记   应付/应退金额    座位排    座位号\n");
        printf("\n===============================================================================\n\n");
        if (flag) {  // 存在课程索引文件时,则按课程索引文件中索引项的顺序进行显示——索引可实现逻辑排序
            fread(&tIdx, sizeof(SellIdxTab), 1, fpIdx);   // 从课程索引文件中读取一个课程索引项
            while (!feof(fpIdx)) {    // 列表方式按课程索引文件中索引项的顺序逐行显示课程记录
                fseek(fp, tIdx.offset, SEEK_SET);    // 根据索引项中的位移量在课程文件中定位课程记录
                fread(&t, sizeof(SellTab), 1, fp);   // 从课程文件中读取一个课程记录
                printf("%-11s    ", t.dypnum);
                printf("%-7s    ", t.ppnum);
                printf("  %1d    ", t.refund);
                printf("\t%-2d ", t.money);
                printf("\t\t%-2s  ", t.seatrow);
                printf("\t%-2s    ", t.seatnum); printf("\n");
                n++;
                fread(&tIdx, sizeof(SellIdxTab), 1, fpIdx);   // 从课程索引文件中读取一个课程索引项
                if (n%8==0 || feof(fpIdx)) {    // 换页或列表显示完毕的处理,每页显示20个课程记录
                    gotoxy(0,21);
                    printf("\n===============================================================================\n\n");
                    printf("\t\t 按任意键继续. ");
                    system("pause");    // 停下来,按任意键继续,让用户看清屏幕上的显示内容
                    system("cls");    // 清屏后重新显示表头信息
                    printf("\n电影票编号   排片编号     退票标记   应付/应退金额    座位排    座位号\n");
                    printf("\n===============================================================================\n\n");
                }
            }  // 如果显示一屏之后不想继续往下查香,该如何处理?请同学们思考!
        } else {    // 不存在课程索引文件时,则按课程文件中课程记录的顺序进行显示
            fread(&t, sizeof(SellTab), 1, fp);   // 从课程文件中读取一个课程记录
            while (!feof(fp)) {    // 列表方式逐行显示从课程文件中读取的每一个课程记录
                printf("%-11s    ", t.dypnum);
                printf("%-7s    ", t.ppnum);
                printf("  %1d    ", t.refund);
                printf("\t%-2d ", t.money);
                printf("\t\t%-2s  ", t.seatrow);
                printf("\t%-2s    ", t.seatnum); printf("\n");
                n++;
                fread(&t, sizeof(SellTab), 1, fp);   // 从课程文件中读取下一个课程记录
                if (n%8==0 || feof(fp)) {    // 换页或列表显示完毕的处理,每页显示20个课程记录
                    gotoxy(0,21);
                    printf("\n===============================================================================\n\n");
                    printf("\t\t 按任意键继续. ");
                    system("pause");    // 停下来,按任意键继续,让用户看清屏幕上的显示内容
                    system("cls");    // 清屏后重新显示表头信息
                    printf("\n电影票编号   排片编号     退票标记   应付/应退金额    座位排    座位号\n");
                    printf("\n===============================================================================\n\n");
                }
            }  // 如果显示一屏之后不想继续往下查香,该如何处理?请同学们思考!
        }
        if (n==0) { printf("\n\n\t\t 没有相关记录.");   system("pause"); }
        fclose(fp);
        if (flag) fclose(fpIdx);
        break;    // 跳出switch语句
        }   
显示有问题,第二屏显示出来不能看,直接跳回去了。求大神解释。谢谢。
搜索更多相关主题的帖子: 课程表 结构体 如何 file 
2016-07-18 21:34
快速回复:如何一屏一屏显示?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.023026 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved