Dolce Temat założony przez niniejszego użytkownika |
bool porownanie = 123 >= 321; » 2017-02-16 21:45:30 Utknąłem póki co w operacjach porównania, właśnie ze względu na niezrozumienie sposobu działania bool. Porównanie bool (w celu zrozumienia jak "działa" ten typ) ze sposobem "działania" int jakoś mi nie wychodzi, nie widzę tu analogii. Czy wpisując na początku kodu bool mam możliwość określenia jedynie czy porównanie jest prawdą czy fałszem? Ten typ nie zawiera nic więcej?
|
|
Janusz2 |
» 2017-02-16 22:04:27 int/bool - typ zmiennej zmienna/porownanie - nazwa zmiennej 5/123>=321 -wartosc zmiennej Ogólna różnica jest taka, że jeżeli nie wprowadzisz wartości zmiennej na początku, ani nie określisz jej nigdzie indziej, "komputer sam wprowadzi tam losową liczbę". Prosty przykład: #include <iostream> int main() { int a; int b; std::cout << a << "+" << b << "=" << a + b << std::endl; return 0; }
/edit Dodaj wartości dla "a" i "b" i zobacz różnicę w działaniu :) |
|
Dolce Temat założony przez niniejszego użytkownika |
» 2017-02-16 22:12:14 Dziękuję. Zmieniłem treść pierwszego posta zanim zdążyłem przeczytać Twoją wypowiedź. Cofnąłem się do lekcji ze zmiennymi i przypomniałem sobie co autor napisał o przypisywaniu danych czyli to co napisałeś i Ty, że warto zainicjować wartość liczbową. Ok. Czy po int zawsze trzeba wpisywać zmienna a po bool porownanie czy też to co się wpisze po danym typie nie ma znaczenia, a jedynie później trzeba się tego konkretnego zapisu "trzymać" w programie?
|
|
carlosmay |
» 2017-02-16 22:16:36 Dla kompilatora nazwy identyfikatorów jak zmienna czy porownanie nie mają żadnego znaczenia. Może tam być jas i malgosia , ale czy tobie będzie łatwo pojąć co znaczą te zmienne? Nazwy są dobierane do zastosowania zmiennych. int zmienna_int { }; bool zmienna_bool { };
Można też tak.\ edit:zy wpisując na początku kodu bool mam możliwość określenia jedynie czy porównanie jest prawdą czy fałszem? Ten typ nie zawiera nic więcej? |
Typ logiczny bool może przechowywać tylko dwie wartości: true lub false . |
|
Dolce Temat założony przez niniejszego użytkownika |
» 2017-02-16 22:19:13 Dziękuję.
To jeszcze taka wątpliwość:
#include <iostream>
int main() { bool porownanie = 123 >= 321; std::cout << "porownanie = " <<( 111 != 222 ) << std::endl; std::cout << "porownanie = " <<( 777 == 777 ) << std::endl; std::cout << "porownanie = " <<( 777 < 777 ) << std::endl; return 0; }
oraz
#include <iostream>
int main() { std::cout << "porownanie = " <<( 111 != 222 ) << std::endl; std::cout << "porownanie = " <<( 777 == 777 ) << std::endl; std::cout << "porownanie = " <<( 777 < 777 ) << std::endl; return 0; }
Nie ma różnic w wyniku. Program "z definicji" porównuje dane w nawiasach, nawet bez zapodania bool na początku kodu. W którym momencie jest więc potrzebne podanie typu bool? |
|
carlosmay |
» 2017-02-16 22:21:45 Dlaczego miałaby być? Wyjaśnij jak ty to widzisz, krok po kroku.
|
|
Dolce Temat założony przez niniejszego użytkownika |
» 2017-02-16 22:33:48 Dobre pytanie. W zasadzie to nie powinno być różnicy i to w sumie rozumiem. Natomiast nie rozumiem zastosowania bool w tym kodzie zapisu:
#include <iostream>
int main() { bool porownanie = 123 >= 321; std::cout << "porownanie = " << porownanie << std::endl; std::cout << "porownanie = " <<( 111 != 222 ) << std::endl; std::cout << "porownanie = " <<( 777 == 777 ) << std::endl; std::cout << "porownanie = " <<( 777 < 777 ) << std::endl; return 0; }
1) Czy autor zapisał to tylko dla przykładu, by w linijce: std::cout << "porownanie = " << porownanie << std::endl; "nawiązać" do podanej od razu przy bool wartości? 2) Rozumiem, że na początku kodu nie ma co wpisywać wszystkich typów, ponieważ musi być przecież rezerwowana część pamięci a poza tym po co wypisywać coś, z czego nie będzie potrzeby korzystać. Zbędny bałagan. Natomiast nie rozumiem póki co, w jakim celu stosuje się w ogóle bool,skoro program i tak porówna dane w nawiasach, bez podnia tego typu. Zawczasu wyjaśniam z pokorą: wiem, że po coś to jest wymyślone i pewnie za jakiś czas do tego bym doszedł metod prób i błędów ale na razie tego nie rozumiem więc korzystam na ile się da z działu Pomoc, a więc Waszej uprzejmości. |
|
carlosmay |
» 2017-02-16 22:53:41 #include <iostream>
int main() { bool zmienna_bool =( 5 == 5 ); int zmienna_int =( 5 + 5 ); std::cout << std::boolalpha << zmienna_bool << '\n'; std::cout << zmienna_int << '\n'; std::cout <<( 5 != 5 ) << '\n'; std::cout <<( 5 * 5 ) << '\n'; } Zmienna logiczna to taka sama zmienna jak każda inna, i może przechować wartość zerową bądź niezerową. Dla ułatwienia zostały nazwane true i false . 2. Zmienne stosuje się do przechowywania wartości na później lub wielokrotnego użycia. #include <iostream>
bool is_even( int num ) { if( num % 2 ) { return false; } return true; }
int main() { int num; std::cin >> num; bool is_num_even = is_even( num ); std::cout << std::boolalpha << is_num_even << '\n'; std::cout << is_even( num ) << '\n'; if( is_num_even ) { std::cout << "liczba jest parzysta\n"; } else { std::cout << "liczba nie jest parzysta\n"; } } |
|
« 1 » 2 3 4 |