| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 6806 人关注过本帖
标题:c语言编程系统,如何换页显示?
只看楼主 加入收藏
小小小虾米
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2016-7-18
结帖率:0
收藏
已结贴  问题点数:20 回复次数:4 
c语言编程系统,如何换页显示?
    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语句
        }   
搜索更多相关主题的帖子: c语言编程 课程表 结构体 如何 file 
2016-07-18 00:37
吹水佬
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:451
帖 子:10607
专家分:43186
注 册:2014-5-20
收藏
得分:10 
这里的“换页”是什么意思?显示任一页?
2016-07-18 11:27
小小小虾米
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2016-7-18
收藏
得分:0 
回复 2楼 吹水佬
指得是 一页不能显示所有内容,需要换下一页进行显示出来。
可以看看我的程序,有注释。
2016-07-18 21:37
linlulu001
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:20
帖 子:944
专家分:4047
注 册:2016-4-13
收藏
得分:10 
看了半天还是没搞清楚到底想问什么
2016-07-18 22:49
a6451868
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2018-5-12
收藏
得分:0 
如果想要实现(首页,第二页,...,尾页),又该如何操作呢?
2018-05-12 21:12
快速回复:c语言编程系统,如何换页显示?
数据加载中...
 
   



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

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