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

Lekcja 1 Rozdział 2 Zadanie 1

Ostatnio zmodyfikowano 2015-07-19 20:16
Autor Wiadomość
Programista1221
Temat założony przez niniejszego użytkownika
Lekcja 1 Rozdział 2 Zadanie 1
» 2015-07-19 13:39:44
Cześć
pomóżcie mam problem bo gdy próbuje zastosować if() a potem else to pojawia sie komunikat: illegal else without matching if, nawet jeśli wstawie tekst w klamerki pomiędzy if a else :(
C/C++
#include <iostream>
using namespace std;
int main()

{
    int liczba;
   
    do {
        cout << "Podaj liczbe: " << endl;
        cin >> liczba;
       
        if( liczba <= 0 || liczba >= 0 );
       
        cout << std::cin.good() << "Wybrales liczbe: " << liczba << endl;
        else
             cout << "To nie liczba, podaj jeszcze raz! " << std::cin.fail() << std::endl;
       
        cin.clear();
        cin.sync();
        cin >> liczba;
       
    } while( liczba == liczba );
   
    cout << "Teraz jest ok :)";
    cout << "Twoja liczba to: " << liczba << endl;
   
    return 0;
   
   
}
P-134900
jankowalski25
» 2015-07-19 13:44:20
[.cpp][./cpp]
Usuń te kropki. Powinno być [cpp][/cpp].

//edit: Zamiast
if( warunek ); instrukcja;
 wpisz
if( warunek ) instrukcja;
.

//edit2: Warunek
if( liczba <= 0 || liczba >= 0 )
 zawsze będzie prawdziwy, więc instrukcja po
else
 nigdy się nie wykona.

//edit3: Z Twojej pętli program nigdy nie wyjdzie, bo warunek
while( liczba == liczba );
 zawsze jest prawdziwy.
P-134901
Patrycjerz
» 2015-07-19 14:14:51
Zamiast cpp powinno być w klamrach code src="C++" i /code. A tak na przyszłość: http://cpp0x.pl/kursy/Kurs-STC​/169.
P-134902
jankowalski25
» 2015-07-19 14:28:42
@Patrycjerz Jeśli chodzi o » Kurs STC » Kolorowanie składniKolorowanie składni języka C++ lekcja, to nie ma nic złego w używaniu [cpp][/cpp] zamiast [code src="C++"][/code].
powinno być w klamrach
Do tego służy znak \, aby można było używać znaku [ w treści.
P-134903
Patrycjerz
» 2015-07-19 14:35:56
jankowalski25, nie wiedziałem o tym aliasie. Dzięki za radę z tą klamrą :D, ale dlaczego nie działa to u Programista1221?
P-134904
Programista1221
Temat założony przez niniejszego użytkownika
» 2015-07-19 15:53:17
Co do warunku while to wiem że jest zły a przy warunku if to chodzi o zabezpieczenie przed literami przy liczbach wiem ze to jest zawsze prawda ale to raczej nie jest błąd, chyba.
P-134908
Programista1221
Temat założony przez niniejszego użytkownika
» 2015-07-19 16:19:20
Teraz to już nwm czy ja jestem głupi czy co bo już if działa tylko nie wiem co wstawić żeby zabezpieczyć przed wpisywaniem złych danych i co wstawić jako warunek kończący pentle :/
C/C++
#include <iostream>
using namespace std;
int main()

{
    int liczba;
    cout << "Podaj liczbe: " << endl;
    cin >> liczba;
   
    if( liczba <= 0 || liczba >= 0 )
         cout << cin.good() << endl << "Wybrales liczbe: " << liczba << endl;
   
    else
         cin.fail();
   
    do {
        cout << "To nie liczba, podaj jeszcze raz! " << std::endl;
        cin.clear();
        cin.sync();
        cin >> liczba;
        cout << "Twoja liczba to: " << liczba << endl;
       
    } while( liczba <= 0 || liczba >= 0 );
   
    return 0;
   
   
}
P-134911
jankowalski25
» 2015-07-19 16:21:06
wiem ze to jest zawsze prawda ale to raczej nie jest błąd
Robisz coś w tym stylu:
C/C++
if( true ) wczytano_poprawnie;
else nie_wczytano_poprawnie;
To raczej jest błąd.
P-134912
« 1 » 2 3
  Strona 1 z 3 Następna strona