whyyouhitme_ 2018-04-23 08:10 采纳率: 57.1%
浏览 557

用结构和枚举,把国际象棋棋盘上的棋子,和格子颜色初始化为开局状态

我这个有20多处错误,请大佬看看
#include
typedef enum {SOLDIER,HORSE,X,CAR,QUEEN,KING,EMPTY}Piece;
typedef enum {BLACK,WHITH}Color;
struct square{Piece a;Color b;};
int main(void)
{

int i,j;
struct square board[8][8];
(board[0][0].square.a)=(board[0][7].square.a)=(board[7][0].square.a)=(board[7][7].square.a)=CAR;
(board[0][1].square.a)=(board[0][6].square.a)=(board[7][1].square.a)=(board[7][6].square.a)=HORSE;
(board[0][2].square.a)=(board[0][5].square.a)=(board[7][2].square.a)=(board[7][5].square.a)=X;
(board[0][3].square.a)=(board[7][4].square.a)=QUEEN;
(board[0][4].square.a)=(board[7][3].square.a)=KING;
for(i=0;i<8;i++)
    board[1][i].square.a=board[7][i].square.a=SOLDIER;
for(i=0;i<8;i++){
    for(j=0;j<8;j++){
        if(j%2=0)
            baord[i][j].square.b=WHITH;
        else
            board[i][j].square.b=BLACK;
    }
}
for(i=2;i<6;i++){
    for(j=0;j<8;j++)
        board[i][j].square.a=EMPTY;
    }

printf("输入方格坐标:");
scanf("%d %d",&i,&j);
printf("棋子:%d颜色:%d",board[i][j].square.a,board[i][j].square.b);
return 0;

}

以下是错误信息:
ompiling...
chapter16exercise18.c
D:\c\c\第十六章结构联合枚举\chapter16exercise18.c(11) : error C2039: 'square' : is not a member of 'square'
D:\c\c\第十六章结构联合枚举\chapter16exercise18.c(4) : see declaration of 'square'
D:\c\c\第十六章结构联合枚举\chapter16exercise18.c(11) : error C2039: 'square' : is not a member of 'square'
D:\c\c\第十六章结构联合枚举\chapter16exercise18.c(4) : see declaration of 'square'
D:\c\c\第十六章结构联合枚举\chapter16exercise18.c(11) : error C2039: 'square' : is not a member of 'square'
D:\c\c\第十六章结构联合枚举\chapter16exercise18.c(4) : see declaration of 'square'
D:\c\c\第十六章结构联合枚举\chapter16exercise18.c(11) : error C2039: 'square' : is not a member of 'square'
D:\c\c\第十六章结构联合枚举\chapter16exercise18.c(4) : see declaration of 'square'
D:\c\c\第十六章结构联合枚举\chapter16exercise18.c(12) : error C2039: 'square' : is not a member of 'square'
D:\c\c\第十六章结构联合枚举\chapter16exercise18.c(4) : see declaration of 'square'
D:\c\c\第十六章结构联合枚举\chapter16exercise18.c(12) : error C2039: 'square' : is not a member of 'square'
D:\c\c\第十六章结构联合枚举\chapter16exercise18.c(4) : see declaration of 'square'
D:\c\c\第十六章结构联合枚举\chapter16exercise18.c(12) : error C2039: 'square' : is not a member of 'square'
D:\c\c\第十六章结构联合枚举\chapter16exercise18.c(4) : see declaration of 'square'
D:\c\c\第十六章结构联合枚举\chapter16exercise18.c(12) : error C2039: 'square' : is not a member of 'square'
D:\c\c\第十六章结构联合枚举\chapter16exercise18.c(4) : see declaration of 'square'
D:\c\c\第十六章结构联合枚举\chapter16exercise18.c(13) : error C2039: 'square' : is not a member of 'square'
D:\c\c\第十六章结构联合枚举\chapter16exercise18.c(4) : see declaration of 'square'
D:\c\c\第十六章结构联合枚举\chapter16exercise18.c(13) : error C2039: 'square' : is not a member of 'square'
D:\c\c\第十六章结构联合枚举\chapter16exercise18.c(4) : see declaration of 'square'
D:\c\c\第十六章结构联合枚举\chapter16exercise18.c(13) : error C2039: 'square' : is not a member of 'square'
D:\c\c\第十六章结构联合枚举\chapter16exercise18.c(4) : see declaration of 'square'
D:\c\c\第十六章结构联合枚举\chapter16exercise18.c(13) : error C2039: 'square' : is not a member of 'square'
D:\c\c\第十六章结构联合枚举\chapter16exercise18.c(4) : see declaration of 'square'
D:\c\c\第十六章结构联合枚举\chapter16exercise18.c(14) : error C2039: 'square' : is not a member of 'square'
D:\c\c\第十六章结构联合枚举\chapter16exercise18.c(4) : see declaration of 'square'
D:\c\c\第十六章结构联合枚举\chapter16exercise18.c(14) : error C2039: 'square' : is not a member of 'square'
D:\c\c\第十六章结构联合枚举\chapter16exercise18.c(4) : see declaration of 'square'
D:\c\c\第十六章结构联合枚举\chapter16exercise18.c(15) : error C2039: 'square' : is not a member of 'square'
D:\c\c\第十六章结构联合枚举\chapter16exercise18.c(4) : see declaration of 'square'
D:\c\c\第十六章结构联合枚举\chapter16exercise18.c(15) : error C2039: 'square' : is not a member of 'square'
D:\c\c\第十六章结构联合枚举\chapter16exercise18.c(4) : see declaration of 'square'
D:\c\c\第十六章结构联合枚举\chapter16exercise18.c(17) : error C2039: 'square' : is not a member of 'square'
D:\c\c\第十六章结构联合枚举\chapter16exercise18.c(4) : see declaration of 'square'
D:\c\c\第十六章结构联合枚举\chapter16exercise18.c(17) : error C2039: 'square' : is not a member of 'square'
D:\c\c\第十六章结构联合枚举\chapter16exercise18.c(4) : see declaration of 'square'
D:\c\c\第十六章结构联合枚举\chapter16exercise18.c(20) : error C2106: '=' : left operand must be l-value
D:\c\c\第十六章结构联合枚举\chapter16exercise18.c(21) : error C2065: 'baord' : undeclared identifier
D:\c\c\第十六章结构联合枚举\chapter16exercise18.c(21) : error C2109: subscript requires array or pointer type
D:\c\c\第十六章结构联合枚举\chapter16exercise18.c(21) : error C2109: subscript requires array or pointer type
D:\c\c\第十六章结构联合枚举\chapter16exercise18.c(21) : error C2224: left of '.square' must have struct/union type
D:\c\c\第十六章结构联合枚举\chapter16exercise18.c(23) : error C2039: 'square' : is not a member of 'square'
D:\c\c\第十六章结构联合枚举\chapter16exercise18.c(4) : see declaration of 'square'
D:\c\c\第十六章结构联合枚举\chapter16exercise18.c(28) : error C2039: 'square' : is not a member of 'square'
D:\c\c\第十六章结构联合枚举\chapter16exercise18.c(4) : see declaration of 'square'
D:\c\c\第十六章结构联合枚举\chapter16exercise18.c(33) : error C2039: 'square' : is not a member of 'square'
D:\c\c\第十六章结构联合枚举\chapter16exercise18.c(4) : see declaration of 'square'
D:\c\c\第十六章结构联合枚举\chapter16exercise18.c(33) : error C2039: 'square' : is not a member of 'square'
D:\c\c\第十六章结构联合枚举\chapter16exercise18.c(4) : see declaration of 'square'
Error executing cl.exe.

chapter16exercise18.obj - 27 error(s), 0 warning(s)

  • 写回答

1条回答 默认 最新

  • threenewbee 2018-04-23 08:31
    关注

    代码错误太多,很多符号拼写都不对,结构体也没用对。

     #include<stdio.h>
    typedef enum {SOLDIER,HORSE,X,CAR,QUEEN,KING,EMPTY}Piece;
    typedef enum {BLACK,WHITH}Color;
    typedef struct {Piece a;Color b;} _square;
    typedef struct {_square square;} Square;
    int main(void)
    {
        int i,j;
        Square board[8][8];
        (board[0][0].square.a)=(board[0][7].square.a)=(board[7][0].square.a)=(board[7][7].square.a)=CAR;
        (board[0][1].square.a)=(board[0][6].square.a)=(board[7][1].square.a)=(board[7][6].square.a)=HORSE;
        (board[0][2].square.a)=(board[0][5].square.a)=(board[7][2].square.a)=(board[7][5].square.a)=X;
        (board[0][3].square.a)=(board[7][4].square.a)=QUEEN;
        (board[0][4].square.a)=(board[7][3].square.a)=KING;
        for(i=0;i<8;i++)
            board[1][i].square.a=board[7][i].square.a=SOLDIER;
        for(i=0;i<8;i++){
            for(j=0;j<8;j++){
                if(j%2==0)
                    board[i][j].square.b=WHITH;
                else
                    board[i][j].square.b=BLACK;
            }
        }
        for(i=2;i<6;i++){
            for(j=0;j<8;j++)
                board[i][j].square.a=EMPTY;
            }
    
        printf("输入方格坐标:");
        scanf("%d %d",&i,&j);
        printf("棋子:%d颜色:%d",board[i][j].square.a,board[i][j].square.b);
        return 0;
    }
    
    
    评论

报告相同问题?

悬赏问题

  • ¥15 求差集那个函数有问题,有无佬可以解决
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题