-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathHomework1.cpp
More file actions
128 lines (116 loc) · 3.56 KB
/
Copy pathHomework1.cpp
File metadata and controls
128 lines (116 loc) · 3.56 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
#include <iostream>
using namespace std;
void duzUcgen(int sayi)//bu düz üçgen için fonksiyonumuz
{
int yildiz = 1, bosluk = sayi - 1;//yıldız ve bosluk değişkenlerini tanımlıyoruz
for (int i = 0; i < sayi / 2 + 1; i++)//satırlar için for döngüsü
{
cout << endl;//bir alt satıra geçer
for (int j = 2; j < bosluk; j++)//boşluk bırakmak için for döngüsü
{
cout << " ";
}
for (int k = 0; k < yildiz; k++)//yıldız koymak için for döngüsü
{
cout << "*";
}
bosluk--;//boşluğu azaltır ki bir sonraki satırda daha az boşluk bıraksın
yildiz += 2;//yıldızı arttırır ki bır sonraki satırda daha çok yıldız bıraksın
}
}
void tersUcgen(int sayi)//bu düz üçgen için fonksiyonumuz
{
int bosluk = 0, yildiz = sayi, s = 0;//yıldız,bosluk ve s değişkenlerini tanımlıyoruz
while (s < sayi / 2 + 1)//satır için while döngüsü
{
int d = 0, f = 0;
while (d < bosluk)//boşluk bırakmak için while döngüsü
{
cout << " ";
d++;
}
while (f < yildiz)//yıldız koymak için while döngüsü
{
cout << "*";
f++;
}
yildiz -= 2;//yildizi azaltır ki bir sonraki satırda daha az yildiz bıraksın
bosluk++;//boşluğu arttırır ki bır sonraki satırda daha çok boşluk bıraksın
s++;//satır sayısı için
cout << endl;//bir alt satıra geçer
}
}
int main()
{
int tercih,boyut,hak = 3;//tercih boyut ve hak değişkenleri
cout << "BU ODEVDE DESEN CIZIMI YAPACAGIZ.\nSIZE PROJENIN NASIL CALISTIGINI ANLATAYIM\nODEVDE 4 BASLIK OLDUGU ICIN ONCE BUNLAR ARSINDA SECIM YAPMAMIZ GEREKIYOR\nVE SONRASINDA ISLEMLER DEVAM EDECEKTIR...\n\n\n";
cout << "1: DUZ UCGEN\n2: TERS UCGEN\n3: ELMAS\n0: CIKIS\n";
cin >> tercih;//kullanıcının tercihini alıyoruz
switch (tercih)//tercihi kontrol ediyoruz
{
case 0://0 ise çıkış yapıyor
return 0;
break;
case 1://1 ise düzgün üçgen çiziyor
a:
cout << "SEKLIN BOYUTLARINI GIRINIZ" << endl;
cin >> boyut;//boyutu alıyor
if (boyut <= 15 && boyut >= 3 && boyut % 2 == 1 && hak > 0)//boyutun istediğimiz aralıkta olup olmadığını kontrol ediyorr ve hakkı kontrol ediyor
{
duzUcgen(boyut);//eğer doğru ise düzgün üçgen çiziyor
}
else//yanlışsa
{
hak--;//hakkı azaltıyor
if (hak==0)//hak 0 olursa
{
cout << "\nHAKKINIZ KALMADI...\n";//hakkınız kalmadı diyor ve kapatıyor
return 0;
}
goto a;//hakkı daha varsa tekrar soruyor
}
break;
case 2://2 ise ters üçgen çiziyor
b:
cout << "SEKLIN BOYUTLARINI GIRINIZ" << endl;
cin >> boyut;//boyutu alıyor
if (boyut <= 15 && boyut >= 3 && boyut % 2 == 1 && hak > 0)//boyutun istediğimiz aralıkta olup olmadığını kontrol ediyorr ve hakkı kontrol ediyor
{
tersUcgen(boyut);//eğer doğru ise ters üçgen çiziyor
}
else
{
hak--;//hakkı azaltıyor
if (hak == 0)//hak 0 olursa
{
cout << "\nHAKKINIZ KALMADI...\n";//hakkınız kalmadı diyor ve kapatıyor
return 0;
}
goto b;//hakkı daha varsa tekrar soruyor
}
break;
case 3://3 ise elmas çiziyor
c:
cout << "SEKLIN BOYUTLARINI GIRINIZ" << endl;
cin >> boyut;//boyutu alıyor
if (boyut <= 15 && boyut >= 3 && boyut % 2 == 1 && hak > 0)//boyutun istediğimiz aralıkta olup olmadığını kontrol ediyorr ve hakkı kontrol ediyor
{
duzUcgen(boyut);
cout << endl;
tersUcgen(boyut);//eğer doğru ise düz ve ters üçgeni alt alta çiziyor
}
else
{
hak--;//hakkı azaltıyor
if (hak == 0)//hak 0 olursa
{
cout << "\nHAKKINIZ KALMADI...\n";//hakkınız kalmadı diyor ve kapatıyor
return 0;
}
goto c;//hakkı daha varsa tekrar soruyor
}
break;
default:
break;
}
}