#include <iostream>
#include <cstdlib>
int main()
{
//Zmienna potrzebna do ustalenia iloci spacji pomiędzy dwoma rodkowymi gwiazdkami
unsigned short k = 3;
//Szerokoć koperty
unsigned short width;
//Wczytanie szerokoci koperty (wysokoć jest 2 razy mniejsza)
std::cout << "Podaj szerokosc koperty (10 - 50): ";
std::cin >> width;
//Jeżeli rozmiar jest mniejszy od 10 bšd większy od 50 to program wypisuje błšd i zakańcza działanie
if (width < 10 || width > 50) {
std::cout << "Bledny rozmiar!" << std::endl;
}
//W przeciwnym wypadku rysuje zaklejonš kopertę
else {
//Pętla rysujšca kopertę. Działa dopóki zmianna 'i' jest mniejsza od wysokoci koperty
//(czyli połowy szerokoci)
for (unsigned short i = 0; i < width / 2; ++i) {
//Jeżeli jest to górna częć lub spód koperty rysuje same gwiazdki
//i wykonuje kolejny przebieg pętli
if (i == 0 || i == width / 2 - 1) {
for (unsigned short j = 0; j < width; ++j)
std::cout << "*";
std::cout << std::endl;
//Wymuszenie kolejnego obiegu pętli
continue;
}
//Tutaj program rysuje całe wnętrze koperty
//Najpierw lewa cianka
std::cout << "*";
//Tutaj program wypisuje odpowiedniš iloć spacji pomiędzy ciankš, a kolejnš gwiazdkš,
//jeżeli sobie to narysujesz na kartce to zobaczysz, że iloć spacji jest większa o jeden
//stšd j < i
for (unsigned short j = 1; j < i; ++j)
std::cout << " ";
//Po wypisaniu spacji program wypisuje kolejnš gwiazdkę
std::cout << "*";
//To też możesz sobie sprawdzić rysujšc sobie jakš kopertę na kartce.
//Dla i = 1 jest to width - 4 (k = 3) (i + k = 4)
//Dla i = 2 jest to width - 6 (k = 4) (i + k = 6)
//Dla i = 3 jest to width - 8 (k = 5) (i + k = 8) itd.
//stšd też k, które zwiększa się o jeden na końcu pętli
for (unsigned short j = 0; j < width - (i + k); ++j)
std::cout << " ";
//Po wypisaniu spacji program wypisuje kolejnš gwiazdkę
std::cout << "*";
//Tutaj robimy to samo co dwa fory wyżej (iloć spacji jest taka sama)
for (unsigned short j = 1; j < i; ++j)
std::cout << " ";
//Prawa cianka koperty
std::cout << "*" << std::endl;
//Zwiększenie zmiennek 'k' o 1
++k;
}
}
std::cout << std::endl;
system("PAUSE");
return 0;
}