P008 - Kostka do gry |
---|
Program uruchomiono w środowisku Bloodshed Dev-C++ 4.9.9.2 |
// I Liceum Ogólnokształcące // im. K. Brodzińskiego // w Tarnowie //-------------------------- // Koło informatyczne 2006/7 //-------------------------- // Program: P008 //-------------------------- #include <iostream> using namespace std; void Kostka(int oczka) { cout << " ----- \n"; for(int i = 1; i <= 9; i++) { switch(i) { case 1: case 4: case 7: cout << "| "; } switch(i) { case 1: case 9: if(oczka > 1) cout << "O"; else cout << " "; break; case 2: case 8: cout << " "; break; case 3: case 7: if(oczka > 3) cout << "O"; else cout << " "; break; case 4: case 6: if(oczka == 6) cout << "O"; else cout << " "; break; case 5: if(oczka % 2) cout << "O"; else cout << " "; break; } switch(i) { case 3: case 6: case 9: cout << " |\n"; } } cout << " ----- \n"; } main() { for(int i = 1; i <= 6; i++) Kostka(i); cout << endl; system("pause"); } |
Widok okienka konsoli w uruchomionym programie |
---|
----- | | | O | | | ----- ----- | O | | | | O | ----- ----- | O | | O | | O | ----- ----- | O O | | | | O O | ----- ----- | O O | | O | | O O | ----- ----- | O O | | O O | | O O | ----- Aby kontynuować, naciśnij dowolny klawisz . . . |
Program na na celu głównie demonstrację użycia instrukcji warunkowej if oraz instrukcji wyboru switch. Instrukcje te w języku C++ posiadają następującą składnię:
if(warunek) inst1; else inst2
Warunek jest dowolnym wyrażeniem arytmetycznym lub logicznym. Jeśli daje w wyniku wartość różną od 0, to zostaje wykonana instrukcja inst1. Jeśli warunek daje w wyniku 0, to będzie wykonana instrukcja inst2.
Jeśli musimy wykonać więcej niż jedną instrukcję w przypadku spełnienia bądź niespełnienia warunku, to stosujemy blok, czyli grupę instrukcji ujętą w klamerki:
if(warunek)
{
inst;
inst;
...
}
else
{
inst;
inst;
...
}
switch(wyrażenie)
{
case etykieta1 : inst; inst;...; break;
case etykieta2 : inst; inst;...; break;
...
default: inst; inst; break;
}Instrukcja switch oblicza wartość podanego wyrażenia, a następnie wykonuje instrukcje umieszczone w bloku case, w którym etykieta ma wartość równą temu wyrażeniu. Instrukcji może być dowolna ilość. Na końcu umieszczamy zwykle instrukcję break, która powoduje wyjście z switch. Jeśli break nie zostanie umieszczone, to będą wykonane instrukcje z kolejnego bloku case - czasem jest to pożądane.
switch(i)
{
case 1:
case 9: if(oczka > 1) cout << "O"; else cout << " ";
break;
...W tym przykładzie instrukcje w bloku case 9 będą wykonane dla i = 1 lub i = 9. Można potraktować pierwszą etykietę case 1 jako blok pusty. Ponieważ nie zawiera on instrukcji break, to wykonanie automatycznie przeniesie się do bloku case 9.
I Liceum Ogólnokształcące |
Pytania proszę przesyłać na adres email: i-lo@eduinf.waw.pl
W artykułach serwisu są używane cookies. Jeśli nie chcesz ich otrzymywać,
zablokuj je w swojej przeglądarce.
Informacje dodatkowe