這裏是一個由點組成的正方形,25 x 25網格的代碼。我需要從用戶x1,x2,y1,y2和兩個字符(例如@和/)獲取輸入,並創建一個矩形,其中一個字符填充內部,一個矩形畫出矩形。我不知道如何將這些輸入處理到循環中並創建所述矩形。 這是頭文件....網格上的矩形
// Rectangle.h
#ifndef Rectangle_h
#define Rectangle_h
#include <iostream>
using namespace std;
class Rectangle
{
private:
float length, width, perimeter, area;
int a, i, j, h, x1, x2, y1, y2;
char inner;
public:
Rectangle(); // default constructor
void printGrid();
void setValues();
void setIntChar();
};
#endif
這是源代碼....
void Rectangle::setValues()
{
do
{
cout << "Enter x1, x2, y1, and y2 such that x1 < x2 and y1 < y2:\n";
cin >> x1;
cin >> x2;
cin >> y1;
cin >> y2;
}
while(x1 >= x2 || y1 >= y2);
cout << endl << "Rectangle accepted.\n\n";
}
void Rectangle::setIntChar()
{
cout << "Enter a character to fill the interior of the rectangle: \n" << endl;
cin >> inner;
cout << endl << endl;
}
void Rectangle::printGrid()
{
for(i = 0; i < 25; i++) // prints 25 rows of 25 dots and a space after each dot
{
if(i < 16)
cout << 25 - i << " ";// prints 25 - 10 in descending order
if(i > 15)
cout << 25 - i << " "; // prints 9 - 1 in descending order
for(j = 0; j < 25; j++) // prints a line of 25 dots and 2 spaces after each dot
cout << ". ";
for(h = 0; h < 25; h++) // prints a line of 25 double-spaces
cout << " ";
cout << endl; // ends the line after each iteration
}
cout << " ";
for (i = 1; i <= 25; i++)
{
if(i < 10)
cout << i << " ";
if(i > 9)
cout << i << " ";
}
cout << endl << endl;
}
這是主要的功能....
#include "Rectangle.h"
///// main /////
int main()
{
Rectangle grid; // creates an object of the Rectangle class
grid.setValues();
grid.setIntChar();
grid.printGrid();
}
假設這是一個班級作業,可能會在整個代碼中使用像「25」這樣的幻數來扣分。您可能已經瞭解了常量。也許不會。 對於投入,他們告訴你關於cin和cout,是嗎?不要擔心循環。只需讓他們使用它們來調用你的功能。 – m24p
我想我不明白你的建議。該矩形需要出現在網格中。 「只需拿到它們並用它們來調用你的功能」。你能爲我澄清一點嗎? – user3254558