ssg 发表于 2018-4-28 16:51:56

c语言程序分页打印信息???

怎样把几十条信息实现分页打印,并且有首页 下一页 上一页 最后一页选项

ssg 发表于 2018-4-29 11:25:25

有人吗???

人造人 发表于 2018-4-29 13:07:58

ssg 发表于 2018-4-29 11:25
有人吗???

C语言以及控制台窗口,好像没有提供这样的函数,要完成这个功能,那就自己写代码管理这些 “页”

ssg 发表于 2018-4-29 13:20:44

人造人 发表于 2018-4-29 13:07
C语言以及控制台窗口,好像没有提供这样的函数,要完成这个功能,那就自己写代码管理这些 “页”

可以给个思路??

风过无痕丶 发表于 2018-4-29 16:00:43

我不知道你要表达的是不是这个意思,还有我把选项和谐了。。。改成按键了。。
↑上一页↓下一页←第一页   →最后一页



#include <stdio.h>

// 最大页数
#define PAGE_MAX 5

// 最大行数
#define RANKED_MAX 5

//每行最大字符数
#define STR_MAX 5

int main(void){
       
        char str = {
       
                {{"1BCD"},{"1BCD"},{"1BCD"},{"1BCD"},{"1BCD"},},
       
                {{"2BCD"},{"2BCD"},{"2BCD"},{"2BCD"},{"2BCD"},},
       
                {{"3BCD"},{"3BCD"},{"3BCD"},{"3BCD"},{"3BCD"},},
               
                {{"4BCD"},{"4BCD"},{"4BCD"},{"4BCD"},{"4BCD"},},
               
                {{"5BCD"},{"5BCD"},{"5BCD"},{"5BCD"},{"5BCD"},}       
        };
       
        char (*p) = str;
       
       
        int i;
        for (i = 0; i < PAGE_MAX; i++){
                        printf ("%s\n", (*(p)+i));
               
        }
        printf ("\n\n\t\t共%d页,你当前在%d页",PAGE_MAX,1);
       
       
        int count = 0;       
        do {
                switch(getch()){
                       
                        case 72:// 上键 上一页
                                if (count >= 0 && count < PAGE_MAX){
                                        count--;
                                        // 检查一下以免越界
                                        if (count < 0){       
                                                count = 0;
                                        }
                                        system("cls");
                                       
                                        for (i = 0; i < PAGE_MAX; i++){
                                                printf ("%s\n", (*(p+count)+i));
                                        }
                                       
                                        printf ("\n\n\t\t共%d页,你当前在%d页",PAGE_MAX,count+1);
                                }
                                break;
                               
                       
                        case 80:// 下键下一页
                                if (count >= 0 && count < PAGE_MAX-1){
                                        system("cls");
                                        count++;
                                        for (i = 0; i < PAGE_MAX; i++){
                                                printf ("%s\n", (*(p+count)+i));
                                        }
                                        printf ("\n\n\t\t共%d页,你当前在%d页",PAGE_MAX,count+1);
                                }
                                break;
                               
                               
                        case 75:// 左键第一页
                                        system("cls");
                                        count = 0;
                                        for (i = 0; i < PAGE_MAX; i++){
                                                printf ("%s\n", (*(p)+i));
                                        }
                                        printf ("\n\n\t\t共%d页,你当前在%d页",PAGE_MAX,count+1);
                                break;
                               
                        case 77:// 右键最后一页
                                        system("cls");
                                        count = PAGE_MAX-1;
                                        for (i = 0; i < PAGE_MAX; i++){
                                                printf ("%s\n", (*(p+count)+i));
                                        }
                                        printf ("\n\n\t\t共%d页,你当前在%d页",PAGE_MAX,count+1);
                                break;
                        }
                       
        }while(1);

        return 0;
}

ssg 发表于 2018-4-30 09:08:23

风过无痕丶 发表于 2018-4-29 16:00
我不知道你要表达的是不是这个意思,还有我把选项和谐了。。。改成按键了。。
↑上一页↓下一页←第一 ...

好犀利 {:5_100:}为什么我c语言就是学不好

风过无痕丶 发表于 2018-4-30 13:47:39

ssg 发表于 2018-4-30 09:08
好犀利 为什么我c语言就是学不好

多动手,多敲代码,永远不要把知识停留在理论阶段
页: [1]
查看完整版本: c语言程序分页打印信息???