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

Zadanie Domowe lekcja 17

Ostatnio zmodyfikowano 2016-10-31 14:18
Autor Wiadomość
ratillada
Temat założony przez niniejszego użytkownika
» 2016-10-28 23:32:32
Próbowałem skorzystać z waszych rad ( jednakże tylko z tych, które nie wykraczały po za mój obecny poziom ), ale nic nie zadziałało więc wpadłem na inny (domyślam się, że jest on niepoprawny, aczkolwiek.. Wiecie desperacja :D ) pomysł. Co o tym myślicie? :

#include <iostream>
using namespace std;
int wczytajLiczbe()
{
   int liczba;

   do
   {
       cout << "liczba: ";
       cin >> liczba;
       cout << "Udalo sie? " << cin.good() << endl;
       bool prawda = cin.good();
       if( prawda == 0 )
          {
              cout << "Nie baw sie ze  mna, bo zamkne cie w petli niczym Itachi Sasuke. " << endl;
          }
       cin.clear();
       cin.sync();

   }while( liczba == 14 );
    return liczba;
}

int main()
{

    std::cout << "Podaj liczbe. " << endl;
    int liczba = wczytajLiczbe();

    std::cout << "Podales liczbe: " << liczba << std::endl;
    return 0;
}

P.S. : Zauważyłem, że jakiegokolwiek znaku pod zmienną int bym nie napisał, jej wartość zawsze wynosiła 14.. Stąd moje rozwiązanie. Działa? Działa :D
P-153019
karambaHZP
» 2016-10-28 23:36:23
while( liczba == 14 );
Chyba nie o to Ci chodziło.
P-153020
kirito1996
» 2016-10-30 14:37:31
mordeczko sprawdź ten kod i używaj [.cpp] kod źródłowy [./cpp] bez kropek
C/C++
#include <iostream>
using namespace std;
int wczytajLiczbe()
{
    int liczba;
    bool prawda;
   
    do
    {
        cout << "liczba: ";
        cin >> liczba;
        //cout << "Udalo sie? " << cin.good() << endl; //tego nie potrzebujesz chyba że chcesz mieć napisane "czy się udało"
        prawda = cin.good(); //o to chodziło od początku najpierw cin a potem sprawdzanie poprawności. tylko nie możesz stworzyć zmiennej w pętli
        if( prawda == 0 )
        {
            cout << "Nie baw sie ze  mna, bo zamkne cie w petli niczym Itachi Sasuke. " << endl;
            cin.clear(); //to
            cin.sync(); // i to miało być w ifie bo po co czyścić strumień i bufor jak nie ma błędu ? ;d
        }
       
    } while( prawda == 0 ); // to z "14" było głupie xDD teraz jest wszystko jasne pętla trwa tak długo jak jest prawdziwa czyli jak będzie "1" to pętla się zakończy
   
    return liczba;
}

int main()
{
   
    std::cout << "Podaj liczbe. " << endl;
    int liczba = wczytajLiczbe();
   
    std::cout << "Podales liczbe: " << liczba << std::endl;
    return 0;
}
P-153055
ratillada
Temat założony przez niniejszego użytkownika
» 2016-10-31 14:18:08
Wielkie dzięki, za wyjaśnienie :D Wszystko działa jak powinno ^^
Temat zamykam. :)
P-153107
1 « 2 »
Poprzednia strona Strona 2 z 2