|
发表于 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[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;
- }
复制代码 |
|