#include <stdio.h>
// 最大页数
#define PAGE_MAX 5
// 最大行数
#define RANKED_MAX 5
//每行最大字符数
#define STR_MAX 5
int main(void){
char str[PAGE_MAX][RANKED_MAX][STR_MAX] = {
{{"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)[RANKED_MAX][STR_MAX] = 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;
}