Dolce Temat założony przez niniejszego użytkownika |
» 2017-02-16 23:27:30 Bardzo dziękuję. Moje pytania mogą być nieco naiwne z punktu widzenia doświadczonej osoby ale co mi tam. 1)Ciekawi mnie, jak działają typy danych. Czy są to wyłącznie zbiory liczb o określonym zakresie? 2) Jaka część programu odpowiada za konkretne obliczenia? Przykład: wpisujemy odpowiednio << 3 + 4 a program wyświetla nam gotowy wynik (7). Gdzie zawarty jest "kalkulator", który oblicza ten wynik bo my przecież tego nie robimy w naszym programie. Póki co tak rozumiem C++, że programista korzysta z gotowych rozwiązań i po prostu musi je sensownie ze sobą łączyć. Czy tak jest faktycznie? 3)A w jaki sposób sobie radzić w przypadku, gdy zechcemy sterować przykładowo jakąś maszyną i potrzebne jest wprowadzanie danych, które nie są już tak "uniwersalne" jak np. obliczenia matematyczne?
|
|
carlosmay |
» 2017-02-16 23:35:04 |
|
Dolce Temat założony przez niniejszego użytkownika |
» 2017-02-17 08:23:27 Dziękuję. Napisałeś wcześniej, że można stosować również taki zapis:
C/C++ int zmienna_int { }; bool zmienna_bool { };
Jak "działają" te nawiasy?
I jeszcze drugie pytanie, co umożliwia nawias za int w poniższym przykładzie:
#include <iostream> #include <cstdio> int main()
|
|
hit |
» 2017-02-17 08:45:27 Nawias jest za main, nie za int. Umożliwia on definiowanie parametrów funkcji. http://cpp0x.pl/forum/temat/?id=8189 Tu masz wyjaśnienie. int main() po prostu nic nie przyjmuje, a zwraca wartość typu int. Edit: Co do pierwszego pytania, to w nawiasach klamrowych możesz wpisać wartość zmiennej. W tym przypadku będzie to jedna wartość, ale jeśli byłyby to tablice, to tych wartości możesz wpisać od razu kilka. Np. int zmienna_int { 7 }; char tab[ 5 ] = { 'z', 'n', 'a', 'k', 'i' };
Oczywiście nie musisz wypełniać całej tablicy, możesz wypełnić tylko kilka elementów. char tab[ 5 ] = { 'z', 'n' };
W tym przypadku zostaną wypełnione dwa pierwsze elementy tej tablicy. |
|
carlosmay |
» 2017-02-17 09:39:21 int zmienna_int { }; bool zmienna_bool { };
|
Nawiasy klamrowe to nawiasy inicjalizujące. Funkcje - pierwsze starcieKażda funkcja musi mieć nawiasy. Taka jest ich składnia. Funkcja main ma swoją określoną nazwę (nie można jej zmienić), aby system wiedział gdzie ma rozpocząć wykonanie programu, ale nadal jest to funkcja jak każda inna zdefiniowana przez nas. |
|
Dolce Temat założony przez niniejszego użytkownika |
» 2017-02-17 09:56:08 Bardzo dziękuję. Przynajmniej ktoś mnie rozumie. Bool tego nie potrafi :)
W związku z tym cofnę się jeszcze do przykładu z tym typem:
#include <iostream>
int main() { bool f = 13; int t = 13; std::cout << "eksperymentujemy = " << (f >= 12) << std::endl; std::cout << "eksperymentujemy = " << (13 >= 12) << std::endl; std::cout << "eksperymentujemy = " << (t >= 12) << std::endl; return 0; }
Wyniki są różne choć zdefiniowałem bool f = 13. Nie kapuję jeszcze różnic przy podawaniu zmiennych dla bool względem np. int. |
|
hit |
» 2017-02-17 10:07:17 Tak jak Ci napisał we wcześniejszym komentarzu carlosmay, bool przyjmuje tylko dwie wartości. Jeśli przypisujesz mu 13, to on w tym momencie ma logiczną prawdę, czyli true/1, a nie 13. W związku z tym porównanie, którego próbujesz dokonać nie ma większego sensu. Możesz sprawdzać czy jest prawdą takie porównanie i jego wynik zapisać właśnie do zmiennej typu bool. int main() { bool f; int t = 13; f =( t >= 12 ); return 0; }
W tym momencie zmienna typu bool przechowuje informację, czy t>=12 jest prawdą, czy nie. |
|
carlosmay |
» 2017-02-17 10:20:53 Wyniki są różne choć zdefiniowałem bool f = 13. |
Jest gdzieś w kursie na temat :). false ma wartość zerową, a true jest wszystkim co niezerowe, czyli 1, 1.01, 5394 czy twoje 13 ma wartość logiczną true . |
|
1 « 2 » 3 4 |