do koszyka |
do koszyka |
do koszyka |
do koszyka |
do koszyka |
do koszyka |
do koszyka |
do koszyka |
do koszyka |
KURS JĘZYKA C++ PODSTAWY
00. Informacje ogólne - wstęp 01. Praca z konsolą - początki - cout 02. Zmienne (int, float, double) 03. Konsola cd. - cin 04. Zmienne tekstowe - (char, string) 05. Operatory 06. Instrukcje warunkowe (if - else, switch - case) 07. Pętle (for, while) 08. Instrukcje warunkowe cd. 09. Break, Continue 10. Funkcje 11. Zakresy ważności 12. Tablice zmiennych 13. Mała powtórka :))) 14. Struct - struktury 15. String, Vector - wstęp do STL 16. Wskaźniki, referencje 16a. Wskaźnik do typów prostych 16b. Wskaźnik do funkcji 16c. Operatory new i delete 16d. Referencje 17. Pliki źródłowe i nagłówkowe Zadania powtórzeniowe 18. Class - klasy 19. Konstruktor , destruktor 20. Argumenty domyślne, przeciążanie (przeładowanie) funkcji i operatorów C++ FAQ: 01. Operacje na plikach, odczyt/zapis02. Nie działa mi polecenie gotoxy() co robić ? 03. Jaki podręcznik do nauki C++ ? ostatnia aktualizacja: 29.08.2005 INSTRUKCJE WARUNKOWE - IF - ELSE, SWITCH - CASE
Instrukcje warunkowe są niezbędnym elementem każdego programu, umożliwiają one programiście określenie sposobu
reagowania przez program na określone zdarzenia.
Powróćmy do naszego przykładowego programu obliczającego deltę. Na chwilę obecną możemy policzyć deltę i jeśli się uprzemy możemy też obliczać miejsca zerowe, niestety jak na razie nie wiemy jak sprawdzić ile ich jest. Tu z pomocą przychodzą nam instrukcje warunkowe. Jedną z podstawowych instrukcji warukowych jest if Przykład jej zastosowania: if (i_zmienna == 0) { cout << "wartosc zmiennej wynosi 0"; } Powyższy zapis wymaga kilku wyjaśnień. Do tej pory każda pisana przez nas linia programu zakończona była znakiem ";" w chwili obecnej w powyższym zapisie pozornie odstępujemy od tej reguły, w języku c++ każda instrukcja prosta musi być zakończona znakiem ; (średnika). Komentarz do powyższego przykładu: if (i_zmienna == 0) - sprawdź/porównaj czy zmienna o nazwie i_zmienna ma wartość 0 (zero), jeśli tak to wykonaj wszystko co jest objęte nawiasami klamrowymi { oraz } w przeciwnym wypadku kontynuuj działanie programu zaraz za nawiasami klamrowymi. W nawiasach { oraz } ujęta jest tylko jedna instrukcja (cout) ale jeśli będziemy tworzyć bardziej rozbudowane programy nie ma prawie żadnych graniczeń co do ilości i typów umieszczanych w nawiasach instrukcji (oczywiście każda z nich powinna być w nowej linii i w zależności od potrzeb powinna być zakończona znakiem średnika (oczywiście nic nie stoi na przeszkodzie aby wewnątrz instrukcji warunkowej if umieścić jeszcze jedną (lub więcej) tego typu instrukcję). Np.: if (i_zmienna1 == 0) { if (i_zmienna2 == 5) { cout << "zmienna jeden wynosi 0 a zmienna dwa 5"; } } UWAGA! Bardzo ważne jest przestrzeganie kolejności otwierania i zamykania nawiasów klamrowych każdy nawias otwarty "{" musi mieć odpowiadające mu zamknięcie "}". Bardziej rozbudowaną postacią instrukcji if może być: if (i_zmienna > 0) { cout << "zmienna jest wieksza od 0"; } else { cout << "zmienna jest mniejsza lub rowna 0"; } Powyższy zapis przedstawia sytuację: if (i_zmienna > 0) - jeśli zmienna jest większa od zera wykonaj to co znajduje się w pierwszej parze nawiasów klamrowych else - w przeciwnym wypadku wykonaj to co znajduje się w drugiej parze nawiasów klamrowych W przypadku zagnieżdżania instrukcji ważne jest stosowanie wcięć (jak w powyższych przykładach), nie ma to żadnego wpływu na samo wykonywanie się programu ale jest bardzo istotne z punktu widzenia czytelności jego kodu. Kolejną instrukcją warunkową którą w tej chwili omówimy jest instrukcja switch dzięki niej możemy w prosty sposób obsłużyć wielowariantowe sytuacje decyzyjne: switch (i_zmienna) { case 31: cout << "wartosc zmiennej wynosi 31"; break; case 155: cout << "wartosc zmiennej wynosi 155"; break; default: cout << "wartosc zmiennej jest rozna od 31 i 155"; break; } Instrukcja switch przyjmuje jako parametr jakąś zmienną i wg jej wartości obsługuje poszczególne przypadki które definiujemy następującymi po sobie instrukcjami case, obok każdej instrukcji case występuje wartość w przypadku wystąpienia tej wartości wykonywane jest wszystko co znajduje się między instrukcją case a odpowiadającą jej instukcją break;. Wewnątrz instrukcji switch (nawiasy klamrowe) może wystąpić dowolna ilość obsługi warunków w postaci case-break;. default-break; załatwia nam obsługę wszystkich sytuacji które nie zostały wymienione. 1. Rozbuduj program do obliczania delty o możliwość wyliczania wartości miejsc zerowych, jeśli delta większa od zera oblicz dwa miejsca zerowe, jeśli delta równa zero jedno miejsce zerowe. W przypadku delty mniejszej od zera program powinien wyświetlić komunikat, że brak jest miejsc zerowych (liczb zespolonych nie bierzemy pod uwagę). Do zrobienia tego ćwiczenia potrzebne będzie obliczenie pierwiastka z delty, język c++ udostępnia "gotowiec" który to za nas załatwi. W tym celu do programu należy na początku dodać linię #include <math.h>, w pliku tym jest udostępnionych kilka funkcji matematycznym m.in. do liczenia pierwiastków - właśnie z niej teraz skorzystamy. sqrt() przykład zastosowania: int i_delta = 25; int i_pierwiastek = 0; i_pierwiastek = sqrt(i_delta); Teraz w zmiennej i_pierwiastek mamy wylicznony pierwiastek :). W nawiasach przy sqrt podajemy zmienną czy też bezpośrednio liczbę której pierwiastek chcemy obliczyć. |
|