【发布时间】:2014-02-03 06:21:19
【问题描述】:
我正在制作一款经典的井字游戏,但棋盘大小由用户定义。
在用户指定板的尺寸后尝试打印板(星号表示空位)时,我只得到看似垃圾的值。
#include <iostream>
#include <string>
using namespace std;
const int BOARD_MAX = 10;
const int BOARD_MIN = 3;
bool sizecheck(int);
void displayBoard(char [][BOARD_MAX], int);
int main(void)
{
int boardsize, i, j;
char grid[BOARD_MAX][BOARD_MAX];
cout << "Please enter the size of the board (" << BOARD_MIN << " - " << BOARD_MAX << "): ";
cin >> boardsize;
if ((sizecheck(boardsize)) == false)
{
do
{
cout << "Must be a number between " << BOARD_MIN << " and " << BOARD_MAX << ". Try again." << endl;
cout << "Please enter the size of the board (" << BOARD_MIN << " - " << BOARD_MAX << "): ";
cin >> boardsize;
sizecheck(boardsize);
}
while ((sizecheck(boardsize)) == false);
}
for (i = 0; i < boardsize; i++)
{
for (j = 0; i < boardsize; i++)
{
grid[i][j] = '*';
}
}
displayBoard(grid, boardsize);
return 0;
}
bool sizecheck(int fboardsize)
{
if ((fboardsize > BOARD_MAX) || (fboardsize < BOARD_MIN))
{
return false;
}
else
{
return true;
}
}
void displayBoard(char fgrid[][BOARD_MAX], int fboardsize)
{
int i, j;
for (i = 0; i < (fboardsize); i++)
{
for (j = 0; j < (fboardsize); j++)
{
cout << fgrid[i][j];
}
cout << endl;
}
}
输出:
该计划显然是一项正在进行的工作;使用函数后,我只是在打印数组时遇到问题。如果我尝试不使用该功能进行打印,它工作正常。我很难弄清楚出了什么问题。
对不起,超级基础的问题;我对 C++ 和一般编程非常陌生,而且很困惑。
谢谢!
【问题讨论】:
标签: c++ arrays function multidimensional-array