Advertisement
lewapkon

Choinka

Jan 5th, 2013
120
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.66 KB | None | 0 0
  1. //  Autor: Pawel Koniarski
  2. //  Data: 5 stycznia 2013 r.
  3. //  Problem: wyswietlanie choinki z gwiazdek
  4. //  Plik: choinka.cpp
  5.  
  6. #include <iostream>
  7. #include <cstdio> // stara wersja: stdio.h
  8.  
  9. using namespace std;
  10.  
  11. int main()
  12. {
  13.   int size = 0; //  rozmiar choinki
  14.  
  15.   // podanie rozmiaru choinki przez uzytkowanika
  16.   cout << "Podaj szerokosc choinki (liczba nieparzysta, minimum 5, maksimum 79): " << endl;
  17.   bool check=false;
  18.   do
  19.   {
  20.     while(!(cin >> size))
  21.     {
  22.       cin.clear();
  23.       string str;
  24.       cin >> str;
  25.       cout << "Blad: \"" << str << "\" nie jest liczba. Sprobuj jeszcze raz." << endl;
  26.     }
  27.     if ((size%2)==0 || size<5 || size>79)
  28.       cout << "Liczba nie jest poprawna. Sprobuj jeszcze raz." << endl;
  29.     else
  30.       check=true;
  31.   } while(check==false);
  32. //  *****************************************************
  33.  
  34. //  Rysowanie choinki
  35.  
  36.  
  37.   for(int i=size,j=1 ; i>0 ; i-=2) //  i - szerokosc choinki ; j - ilosc gwiazdek w linii
  38.   {
  39.     //  wyswietlanie spacji przed gwiazdkami
  40.     for(int n=((size-j)/2) ; n!=0 ; n--)
  41.     {
  42.       cout << " ";
  43.     }
  44.  
  45.     //  wyswietlanie gwiazdek
  46.     for(int n=j ; n!=0 ; n--)
  47.     {
  48.       cout << "*";
  49.     }
  50.  
  51.     j+=2;
  52.  
  53.     cout << "\n";
  54.   }
  55.  
  56.   //  **************************************************
  57.  
  58.   //  Rysowanie pnia choinki
  59.  
  60.   for(int width=size/5, height=size/5 ; height!=0 ; height--)
  61.   {
  62.     //  wyswietlanie spacji przed pniem
  63.     for(int n=((size-width)/2) ; n!=0 ; n--)
  64.     {
  65.       cout << " ";
  66.     }
  67.  
  68.     //  wyswietlanie gwiazdek jako pien
  69.     for(int n=width ; n!=0 ; n--)
  70.     {
  71.       cout << "*";
  72.     }
  73.  
  74.     cout << endl;
  75.   }
  76.  
  77.   getchar();
  78.   return 0;
  79. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement