Pytanie o klamry w if'ie
Ostatnio zmodyfikowano 2016-03-22 22:39
jaśkoo Temat założony przez niniejszego użytkownika |
Pytanie o klamry w if'ie » 2016-03-22 21:29:21 Mam takie pytanie konkretnie o taki fragment kodu- dlaczego bez klamer instrukcja "maxWartosc = obecnaWartosc;" sie nie wykona, przeciez ten if ma tylko jedna instrukcje, wiec klamry powinny byc opcjonalne. ... plik >> maxWartosc;
while( !plik.eof() ) { plik >> obecnaWartosc; if( obecnaWartosc > maxWartosc ) { maxWartosc = obecnaWartosc; } } cout << maxWartosc; ...
|
|
carlosmay |
» 2016-03-22 21:40:30 przeciez ten if ma tylko jedna instrukcje, wiec klamry powinny byc opcjonalne. |
Zgadza się. Czy poprawnie zapisany jest kod bez klamer? { int maxWartosc; int obecnaWartosc; plik >> maxWartosc; while( plik >> obecnaWartosc ) { if( obecnaWartosc > maxWartosc ) maxWartosc = obecnaWartosc; } std::cout << maxWartosc; } PytanieBonus za tytuł postu. ;) |
|
jaśkoo Temat założony przez niniejszego użytkownika |
» 2016-03-22 21:50:15 tak wygląda cały kod. #include <iostream> #include <fstream> #include <cstdlib>
using namespace std;
void max() { int maxWartosc; int obecnaWartosc; fstream plik; plik.open( "liczby.dat", ios::in ); if( plik.good() == false ) { cout << "Pliku nie odnaleziono!"; exit( 0 ); } else { plik >> maxWartosc; while( !plik.eof() ) { plik >> obecnaWartosc; if( obecnaWartosc > maxWartosc ) { maxWartosc = obecnaWartosc; } } cout << maxWartosc; } plik.close(); }
int main() { max(); return 0; }
|
|
carlosmay |
» 2016-03-22 21:52:16 W tym kodzie nie ma instrukcji warunkowej bez klamer.
|
|
jaśkoo Temat założony przez niniejszego użytkownika |
» 2016-03-22 21:57:09 Tak, w tej nie ma. Wcześniej gdy nie bylo klamer instrukcja z ifa nie była wykonywana, ale to najwyraźniej był inny błąd. W takim razie mam kolejne pytanie jak to wygląda w praktyce czy niezależnie od ilości instrukcji w if'ie mile widziane są klamry, czy wg Was poprawia to jakoś czytelność kodu czy przeciwnie? Chodzi mi o to czy jest jakaś niepisana zasada odnośnie tego. |
|
carlosmay |
» 2016-03-22 22:01:35 Pisz jak ci wygodnie. To tobie ma się wygodnie czytać co piszesz. |
|
mokrowski |
» 2016-03-22 22:39:23 Pisz zawsze z klamrami. Takie zalecenie występuje np. w standardach kodowania dla systemów krytycznych (np. MISRA) i nie Tobie ma się czytać wygodnie a innym. Jak stawiasz klamrę, podejmujesz świadomą decyzję co w tym bloku będzie. Jak jej nie postawisz dajesz sobie szansę na popełnienie takich błędów jakie opisałeś.
Zdaję sobie sprawę że to temat "polityczny" więc postaram się już nie zabierać głosu :-) |
|
« 1 » |