Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

bool porownanie = 123 >= 321;

Ostatnio zmodyfikowano 2017-02-18 17:08
Autor Wiadomość
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? 
  

 
P-157874
carlosmay
» 2017-02-16 23:35:04
wpisujemy odpowiednio << 3 + 4 a program wyświetla nam gotowy wynik (7)
Operatory strumienia i dodawania mają tak zdefiniowane zachowanie.
Gdy zaczniesz pisać klasy i przeciążać operatory lepiej zrozumiesz jak to działa.
https://pl.wikipedia.org/wiki​/Operator_(programowanie)
P-157875
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()
P-157885
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.

C/C++
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.

C/C++
char tab[ 5 ] = { 'z', 'n' };

W tym przypadku zostaną wypełnione dwa pierwsze elementy tej tablicy.
P-157886
carlosmay
» 2017-02-17 09:39:21
C/C++
int zmienna_int { }; // int zmienna_int = 0;
bool zmienna_bool { }; // int zmienna_bool = false;
Nawiasy klamrowe to nawiasy inicjalizujące.

int main()
» Kurs C++ » Poziom 2Funkcje - pierwsze starcie lekcja
Każ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.
P-157887
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.
P-157888
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.

C/C++
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.
P-157889
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
.
P-157891
1 « 2 » 3 4
Poprzednia strona Strona 2 z 4 Następna strona