Poziom 2, rozdział 20 funckja komunikatCzasu
Ostatnio zmodyfikowano 2017-03-09 11:47
wiktorlenka Temat założony przez niniejszego użytkownika |
Poziom 2, rozdział 20 funckja komunikatCzasu » 2017-03-09 09:36:25 Witajcie :)
Mam problem z poniższym kodem. Po "if" mamy zmianną bWynik. Czy warunkiem jest if(bWynik==true) , a to co poniżej to zapis skrócony? Nie moge znaleźć jednoznacznej odpowiedzi na moje pytanie...
void komunikatCzasu( bool bWynik ) { if( bWynik ) std::cout << "Czas jest poprawny" << std::endl; else std::cout << "Czas jest niepoprawny" << std::endl; |
|
Anim |
» 2017-03-09 09:55:02 Zapis jest równoważny zapisowi: i oczywiście jest równoważny zapisowi: Polecam raz jeszcze przeczytać lekcję: http://cpp0x.pl/kursy/Kurs-C++/Poziom-1/Instrukcja-warunkowa-if-else/16 |
|
carlosmay |
» 2017-03-09 09:57:38 W tym wypadku tak. To jest skrócona wersja, ale dotyczy tylko zmiennych typu logicznego bool . Dla typu liczbowego może być inaczej, np. int num; std::cin >> num; if( num == 1 ) { } if( num ) { }
Dokładniej opisano to w jednym z rozdziałów o operacjach logicznych. Wejdzie z czasem w krew. |
|
wiktorlenka Temat założony przez niniejszego użytkownika |
» 2017-03-09 10:05:55 Super! Bardzo Wam dziękuję :) I oczywiście przeczytam jeszcze raz wspomniany temat.
Edit:
Jeszcze jednej rzeczy z tej lekcji nie mogę zrozumieć:
#include <iostream>
bool czyGodzinaPoprawna( int godz, int min, int sek ) { if( godz < 0 || godz > 23 ) return false; if( min < 0 || min > 59 ) return false; if( sek < 0 || sek > 59 ) return false; return true; }
void komunikatCzasu( bool bWynik ) { if( bWynik ) std::cout << "Czas jest poprawny" << std::endl; else std::cout << "Czas jest niepoprawny" << std::endl; }
int main() { komunikatCzasu( czyGodzinaPoprawna( 24, 30, 50 ) ); komunikatCzasu( czyGodzinaPoprawna( 12, 88, 50 ) ); komunikatCzasu( czyGodzinaPoprawna( 1, 00, 99 ) ); komunikatCzasu( czyGodzinaPoprawna( 7, 33, 01 ) ); return 0; }
W powyższym kodzie nie rozumiem użycia funkcji czyGodzinaPoprawna. Funkcja zwraca łącznie 4 wartości - wszystkie w typie bool (tak myślę, poprawcie mnie proszę jeśli źle zrozumiałam). Z kolei funcja komunikatCzasu używa tylko jednej zmiennej, a przecież dostarczyliśmy jej 4 takich zmiennych... W którym momencie bool'e łączą się w jedną zmienną (o ile w ogóle się łączą)? |
|
carlosmay |
» 2017-03-09 11:44:00 Funkcja zwraca tylko jedną wartość zależną od spełnionego warunku. |
|
Anim |
» 2017-03-09 11:44:58 Funkcja czyGodzinaPoprawna zwraca jedną wartość - typu bool. W momencie, gdy którykolwiek warunek z "if" zostanie spełniony zostanie wywołane return false/true. Co robi return? zwraca wartość i przerywa działanie funkcji.
|
|
wiktorlenka Temat założony przez niniejszego użytkownika |
» 2017-03-09 11:47:57 Wszystko jasne :)
Dziękuję :) |
|
« 1 » |