Z okazji zbliżających się świąt, przedstawię jak zrobić choinkę w C++.
Choinka działa na zasadzie, że podajemy ile poziomów ma zbudować i długość górnej podstawy.
Wykorzystano tutaj bibliotekę <windows.h> w celu uzyskania kolorowania textu w konsoli:
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_BLUE| FOREGROUND_INTENSITY);
WESOŁYCH ŚWIĄT !
#include <cstdlib>
#include <iostream>
#include <iomanip>
#include <windows.h>
using namespace std;
int main(int argc, char *argv[])
{
int max_poziom,poziom, wiersz, gwiazdka,podstawa;
cout<<"Podaj jak wysoka ma byc choinka?";
cin>>max_poziom;
cout<<endl;
cout<<"Podaj podstawe gorna choinki?";
cin>>podstawa;
cout<<endl;
for(poziom=0;poziom<=max_poziom;poziom++)
{
for(wiersz=1;wiersz<=podstawa-1+poziom*2;wiersz++)
{
cout<< setw(30-wiersz-1-poziom);
cout<<"|";
for(int j=1;j<=(wiersz*2)-1+poziom*2;j++)
{
if(poziom==0&&j==1&&wiersz==1)
{
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_RED| FOREGROUND_INTENSITY);
cout<<"~";
}
else if(j%4==1)
{
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_RED| FOREGROUND_INTENSITY);
cout<<"O";
}
else if(j%5==2)
{ SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_BLUE| FOREGROUND_INTENSITY);
cout<<"@";
}
else
{
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_GREEN| FOREGROUND_INTENSITY);
cout<<"*";
}
}
cout<<"|";
cout<<endl;
}
}
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_RED| FOREGROUND_INTENSITY);
for(int i=0;i<=3;i++)
{
cout<<setw(30-podstawa);
for(int j=0;j<6;j++)
{
cout<<"|";
}
cout<<endl;
}
system("PAUSE");
return EXIT_SUCCESS;
}


