Я сделал эту программу, которая начинает печатать маленький прямоугольник, а затем печатает другие большие прямоугольники, пока не будет достигнута определенная точка, но предполагается, что, когда первый цикл заканчивается, последний for программы должен будет сделать противоположноеПри печати прямоугольника большего размера и печати прямоугольников меньшего размера проблема заключается в том, что программа выполняет только первое, игнорируя второе. Я не знаю, пропустила ли я добавление чего-либо, кто-нибудь знает, какую ошибку я могу иметь? Я все еще новичок в программировании, извините.
#include <iostream>
#include <conio.h>
#include <stdlib.h>
#include <stdio.h>
#include <windows.h>
#include <time.h>
using namespace std;
void pos(int x,int y){
HANDLE hcon;
hcon = GetStdHandle(STD_OUTPUT_HANDLE);
COORD dwPos;
dwPos.X = x;
dwPos.Y= y;
SetConsoleCursorPosition(hcon,dwPos);
}
void square(int col1, int col2, int row1, int row2) //The square function is the one I use to print all the squares, just by changing the positions
{
pos(col1,row1);
cout << char(201);
pos(col1,row2);
cout << char(200);
pos(col2,row1);
cout << char(187);
pos(col2,row2);
cout << char(188);
for (int x = col1 + 1; x < col2; x++)
{
pos(x, row1);
cout << char(205);
pos(x, row2);
cout << char(205);
}
for (int y = row1 + 1; y < row2; y++)
{
pos(col1,y);
cout << char(186);
pos(col2,y);
cout << char(186);
}
}
int main(){
system("color 2E");
int N = 22, N2 = 23;
int x1 = 32, x2 = 33, y1 = 100, y2 = 105;
int x3 = 4, x4 = 49, y3 = 4, y4 = 215;
pos(30,30);
cout << "Put the program in full screen so it can be better appreciated";
Sleep(4000);
system("cls");
for (int i; i < N; i++){ //This for is responsible for printing the squares from minor to major
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_BLUE | BACKGROUND_GREEN);
Sleep(200);
square (y1, y2, x1, x2);
y1 = y1 - 5;
y2 = y2 + 5;
x1 = x1 - 1;
x2 = x2 + 1;
cout << "\n\n\n";
}
system("cls");
for (int j; j < N2; j++){ //When the screen is clean, this for would have to start printing squares from major to minor
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_BLUE | BACKGROUND_GREEN);
Sleep(200);
square (y3, y4, x3, x4);
y3 = y3 + 4;
y4 = y4 - 4;
x3 = x3 + 1;
x4 = x4 - 1;
cout << "\n\n\n";
system("cls");
}
system("pause");
return 0;
}