Вот код квадратной сетки 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();
}