誰か助けてくれませんか?このコードは、最初のラウンドでは正常にコンパイルされますが、ループすると正しく出力されません。私は間違いを見つけることができません..ありがとう!最初にXcodeでコンパイルすると、右の正方形が中空になりましたが、2回目に入力すると正方形が出力されませんでした。
#include <iostream>
using std::cout;
using std::cin;
using std::endl;
#include <string>
using std::string;
#include <cstdlib>
int main()
{
int a;
int b;
int num=0;
string buf;
//initialize a and b
a = 1;
b = 1;
// ask user to repeat the process again at end of the first promt
while( true )
{
cout << "Please enter size of square between #1-20: \n";
cin >> buf; num = atoi (buf.c_str());
cin.ignore(1000, 10);
if( num < 1 || num > 20 )
break;
//process of printing square
while ( num >= a)
{
b = 1;
while ( num >= b )
{
if ( a == 1 || a == num || b == 1 || b == num )
cout << "*";
else
cout << " ";
b++;
}
cout << endl;
a++;
}
}
}