C 移动表中的字符

C 移动表中的字符,c,C,我刚开始学习编程语言,我想在表中移动一个字符(点“*”) 这是我的密码 #include <stdio.h> #include <math.h> #include <stdlib.h> int main() { int v; int x = 50, y = 10; int i, j; char screen[80][25]; // declare and initialize table for (i = 0

我刚开始学习编程语言,我想在表中移动一个字符(点“*”)

这是我的密码

#include <stdio.h>
#include <math.h>
#include <stdlib.h>

int main() {
    int v;
    int x = 50, y = 10;
    int i, j;
    char screen[80][25];

    // declare and initialize table
    for (i = 0; i < 80; i++)
        for (j = 0; j < 25; j++)
            screen[i][j] = ' ';

    // coordinate system
    for (i = 0; i < 80; i++) screen[i][12] =  '-';
    for (j = 0; j < 25; j++) screen[40][j] =  '|';

    // point, position
    screen[x][y] = '*';

    // print result
    for (j = 0; j < 25; j++) {
        for (i = 0; i < 80; i++)
            printf("%c", screen[i][j]);
        printf("\n");
    }
}
但随后一切(表格、坐标系和角色)都消失了。请帮忙

谢谢。

看看如何使用

如果您使用的是*nix或OS X,则应已安装。如果您使用的是Windows,则可以在上获得的分发版

  • 文件:
但是,从设计角度来看,您应该将模型(80 x 25阵列)与用户界面分开。您有两项任务:

  • 通过响应用户事件来维护模型
  • 通过响应模型中的更改来维护用户界面
  • 这将引导您使用一种称为模型-视图-控制器或MVC的设计模式。在经典MVC中,您有:

    • 一个模型,本质上是一个没有用户界面的无头应用程序
    • 一个视图,用户界面。在您的例子中,您有一个控制台/终端窗口作为输出,一个键盘作为输入,对吗
    • 控制器。控制器的工作是将视图连接到模型。控制器将事件(如按键或输入一行文本等输入事件)中继到模型。模型对事件做出响应,并做出适当的反应,如果其视觉状态发生变化,则通知控制器。反过来,控制器通过指示视图(或视图的所需部分)其状态已更改以重新渲染自身来响应

    这种关注点的分离使得首先编写和测试代码更加简单。

    每次移动“*”时都需要“重新绘制”表。此外,其中一个变量声明为scren,但在代码中用作屏幕!请问您在哪个平台上,使用哪个编译器?我使用ubuntu终端作为编译器,使用notepad++作为编辑器
    int v;
    ...
    scanf("%d", &v);
    if(v == 1)
    {
        y--;
    }