Choinka w C++

choinka C++

Choinka C++

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;
}
Ten wpis został opublikowany w kategorii Algortymy i struktury danych, C++, Programowanie, Studia i oznaczony tagami . Dodaj zakładkę do bezpośredniego odnośnika.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

*

Możesz użyć następujących tagów oraz atrybutów HTML-a: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>