Grimekk
memsoria.pl
- Dołączył
- Październik 9, 2011
- Posty
- 609
- Liczba reakcji
- 55
Wst?p
Siemano. W ko?cu zebra?em si? do napisania trzeciej cz??ci poradnika. Du?o os?b na PW prosi?o mnie o jej jak najszybsze wydanie, przepraszam najmocniej, ?e wysz?a ona dopiero po paru dniach ale ostatnio by?em bardzo zaj?ty. Chc? te? Was poinformowa?, ?e od tej lekcji moje tutoriale b?d? nieco kr?tsze, tak abym je m?g? wypuszcza? cz??ciej. W ka?dym razie, dzi? zajmiemy si? warunkami.Instrukcje warunkowe
Zacznijmy mo?e od samej teorii, pomo?e nam to niezmiernie w praktyce. Profesjonalne programy zawieraj? tak zwane "instrukcje warunkowe" kt?re okre?laj? co ma si? sta? je?eli jakie? zapytanie zostanie spe?nione. Dla przyk?adu: je?li b?d? mia? wystarczaj?co du?o pieni?dzy to kupi? sobie nowy samoch?d. W przeciwnym wypadku samochodu nie kupi?.
Komputer jako maszyna nie mo?e si? pos?ugiwa? intuicj?. Trzeba dok?adnie okre?li? co si? stanie w danej sytuacji. Do tego w?a?nie s?u?y instrukcja warunkowa if. W programie, jej zapis wygl?da nast?puj?co:
PHP:
if ( b?d? mia? kas? )
PHP:
if ( b?d? mia? kas? )
kupi? nowy samoch?d
PHP:
if ( b?d? mia? kas? )
{
kupi? nowy samoch?d
znajd? ?on?
}
PHP:
#include <iostream>
using namespace std;
int main ()
{
int kasa;
cout << "Ile masz pieniedzy?" << endl;
cin >> kasa;
if ( kasa <= 3000 )
{
cout << "Nie bedziesz mial zony." << endl;
cout << "... i nowego auta ;/" << endl;
}
return 0;
}

Najpierw program spyta? nas o wpisanie warto?ci zmiennej. P??niej j? pobra? i wykona? por?wnanie (mniejsze lub r?wne). Warunek zosta? spe?niony wi?c wy?wietli? zawarto?? w klamrach (cout << nie bedziesz mial zony, itp).
Oczywi?cie umieszczanie if'a w if'ach jest mo?liwe. Wida? to na przyk?adzie poni?ej:
PHP:
#include <iostream>
using namespace std;
int main ()
{
int kasa;
cout << "Ile masz pieniedzy?" << endl;
cin >> kasa;
if ( kasa <= 3000 )
{
cout << "Nie bedziesz mial zony." << endl;
cout << "... i nowego auta ;/" << endl;
if ( kasa <= 2700 )
{
cout << "ani psa..." << endl;
if ( kasa <= 2500 )
{
cout << "ani kota..." << endl;
if ( kasa <= 2000 )
{
cout << "ogolnie to jestes zerem ;)" << endl;
}
}
}
}
return 0;

Proces kt?ry przebiega jest raczej wyja?niony w kodzie - nazywamy to zagnie?d?aniem warunk?w.
Kolejn? instrukcj? warunkow? kt?r? Wam przedstawi? jest else, czyli - t?umacz?c na polski - "w przeciwnym wypadku", lub "co si? stanie je?li if nie zostanie spe?niony". Else jest bardzo wa?nym warunkiem, okre?la on bowiem co si? stanie je?li mamy do czynienia z u?ytkownikiem kt?ry nie chce dzia?a? wedle woli programu. Jego zastosowanie w programie wida? poni?ej:
PHP:
#include <iostream>
using namespace std;
int main ()
{
int kasa;
cout << "Ile masz pieniedzy?" << endl;
cin >> kasa;
if ( kasa <= 3000 )
cout << "Nie bedziesz mial zony." << endl;
else
cout << "Bedziesz milionerem!" << endl;
return 0;
}

Mo?na zauwa?y?, ?e poda?em liczb? mniejsz? ni? 3000. Warunek zatem zosta? spe?niony wi?c program wy?wietli? wiadomo?? kt?rej nie zaoferowa? nam else.
Warto te? wspomnie?, ?e else wymaga w?asnych nawias?w kwadratowych, tak jak tu:
PHP:
#include <iostream>
using namespace std;
int main ()
{
int kasa;
cout << "Ile masz pieniedzy?" << endl;
cin >> kasa;
if ( kasa <= 3000 )
{
cout << "Nie bedziesz mial zony." << endl;
cout << "i padniesz na smoku w tibii!" << endl;
}
else
{
cout << "Bedziesz milionerem!" << endl;
cout << "Twoja zona bedzie miala duzy biust!" << endl;
}
return 0;
}

Poda?em liczb? wi?ksz? ni? 3000 wi?c warunek nie zosta? spe?niony i wys?a? pierwsze dwie wiadomo?ci. Bana?.
If'y z else'm mo?na te? zagnie?d?a?. Na przyk?ad tak!:
PHP:
#include <iostream>
using namespace std;
int main ()
{
int kasa;
cout << "Ile masz pieniedzy?" << endl;
cin >> kasa;
if ( kasa <= 3000 )
{
cout << "Nie bedziesz mial zony." << endl;
cout << "i padniesz na smoku w tibii!" << endl;
if ( kasa <= 2500 )
{
cout << "przegrales zycie!" << endl;
cout << "nie skonczysz tibii!" << endl;
}
}
else
{
cout << "Bedziesz milionerem!" << endl;
cout << "Twoja zona bedzie miala duzy biust!" << endl;
}
return 0;
}

Z racji i? oba if'y zosta?y spe?nione, obie instrukcj? zosta?y wy?wietlone na ekranie.
Koniec
Dzisiaj kr?tko i na temat, powinno tak by? cz??ciej. Tutoriale wtedy s? bardziej dopracowane i trzymaj? si? kalendarza. Pozdrawiam.