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

POZIOM 1 - ROZDZIAŁ 12 i 13 - problem

Ostatnio zmodyfikowano 2013-01-28 14:17
Autor Wiadomość
Frish
Temat założony przez niniejszego użytkownika
» 2013-01-28 13:51:46
JuZ rozumiem, zwyczajnie bład logiczny popełniłem którego nie zauważyłem, dziękuję bardzo. a jeżeli chodzi o klamry to w takim przypadku jak opisałem to powinienem je umieszczać za 'else' ale przed 'std::cout'?
P-75221
ligras
» 2013-01-28 13:51:57
Jeśli chodzi o klamry sprawa jest bardzo prosta (schemat):
C/C++
if( warunek )
{ // otwierasz klamre
    // instrukcja 1
    // instrukcja 2
    // itd
} // zamykasz klamre
else
{ // otwierasz klamre
    // instrukcja 1
    // itd
} // zamykasz klamre

klamrami okalasz blok instrukcji (jedna bądź więcej) które chcesz wykonać.
Jeśli klamer nie użyjesz to wykonuje się tylko pierwsza instrukcja, reszta jest traktowana tak jakby nie dotyczyła wątku.

I tak na Twoim przykładzie jeśli po else wstawie klamre na przykład tak:
C/C++
if( wiek >= 18 )
     std::cout << "Zgodnosc wieku: TAK" << std::endl;
else
{
    std::cout << "Zgodnosc wieku: BRAK" << std::endl;
   
    if( polska )
         std::cout << "Kraj pochodzenia: POLSKA" << std::endl;
    else
         std::cout << "Kraj pochodzenia: Nie wiesz nawet ile masz lat, nie znasz swojego kraju pochodzenia" << std::endl;
   
    if( wiek == 17 )
         std::cout << "Godnosc: Mateusz" << std::endl;
    else
         std::cout << "Godnosc: Brak danych";
   
}
to pytanie o if( polska ) będzie miało miejsce tylko gdy zapytanie if( wiek >= 18 ) zwróci false, czyli nie będzie prawdziwy, czyli będziemy w bloku instrukcji dla "else".
Rozumiesz?
P-75222
Frish
Temat założony przez niniejszego użytkownika
» 2013-01-28 13:56:51
Rozumiem...ale jeżeli chce otrzymać odpowiedzi na każde pytanie i w przypadku jeżeli była prawda i w przypadku jeżeli było false to potrzebny jest brak klamr?
P-75223
Frish
Temat założony przez niniejszego użytkownika
» 2013-01-28 14:00:45
Ale teraz już pojąłem najważniejsze jak te klamry układać i jak tworzyć te bloki, bo wcześniej nie wiedziałem gdzie klamre włozyc gdy używam 'else'. Jeszcze raz dziękuję bardzo za wyjaśnienia.

pozdrawiam
P-75224
ligras
» 2013-01-28 14:01:37
tak, jednak wtedy nie stosuj też "wcięć/tab" w kodzie, bo to bardzo myli.
Poza tym pojedynczą instrukcję też możesz okalać w klamry, wtedy jest wszystko jasne i nie trzeba się domyślać co autor miał na myśli. Moim zdaniem to dobry nawyk.
P-75225
Frish
Temat założony przez niniejszego użytkownika
» 2013-01-28 14:17:26
dzieki wielkie, poprostu dopiero tak naprawdę trzy dni czytam sobie kurs i nie jestem swiadom wielu rzeczy które dobrze na poczatku już zaczynać robić, na pewno zadam jeszcze nie jedno pytanie.
P-75226
1 « 2 »
Poprzednia strona Strona 2 z 2