c语言程序分页打印信息???
怎样把几十条信息实现分页打印,并且有首页 下一页 上一页 最后一页选项 有人吗??? ssg 发表于 2018-4-29 11:25有人吗???
C语言以及控制台窗口,好像没有提供这样的函数,要完成这个功能,那就自己写代码管理这些 “页” 人造人 发表于 2018-4-29 13:07
C语言以及控制台窗口,好像没有提供这样的函数,要完成这个功能,那就自己写代码管理这些 “页”
可以给个思路?? 我不知道你要表达的是不是这个意思,还有我把选项和谐了。。。改成按键了。。
↑上一页↓下一页←第一页 →最后一页
#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;
} 风过无痕丶 发表于 2018-4-29 16:00
我不知道你要表达的是不是这个意思,还有我把选项和谐了。。。改成按键了。。
↑上一页↓下一页←第一 ...
好犀利 {:5_100:}为什么我c语言就是学不好 ssg 发表于 2018-4-30 09:08
好犀利 为什么我c语言就是学不好
多动手,多敲代码,永远不要把知识停留在理论阶段
页:
[1]