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

Sprawdzanie "Zadań domowych" , np."Obsługa strumienia wejściowego"

Ostatnio zmodyfikowano 2017-03-30 09:07
Autor Wiadomość
karambaHZP
» 2017-03-29 21:38:59
Z tego, co ja zrozumiałem, 'bool' ma zapamiętywać, czy dane wejściowe są poprawne
Tak. Ma zapamiętywać stan strumienia, ale nie masz go ręcznie wprowadzać.
C/C++
int n; // deklaracja zmiennej typu int
bool state; // deklaracja zmiennej typu bool
std::cin >> n;
state = std::cin.good(); // zapisanie wartości zwróconej przez metodę udostępniającą info o stanie strumienia
// ważne: zapamiętanie stanu należy wykonać interesującym nas momencie (u nas po próbie wczytania danych do zmiennej n)
// tutaj jakiś kod
std::cout << state << '\n'; // wypisanie tego stanu w konsoli
// aby było ładniej można tak to zrobić
std::cout << std::boolalpha << state << '\n';
P-159589
Panniikt
» 2017-03-29 22:02:50
Dzięki Ci przyjacielu, męczyłem się z tym godzinkę. Możesz zerknąć czy aby na pewno jest wszystko okej?

C/C++
#include <iostream>

using namespace std;

int main( int argc, char * argv[] )
{
    float a, b, c;
    bool s1, s2, s3;
   
   
   
   
    cout << "podaj pierwsza liczbe rzeczywista: " << endl;
    cin >> a;
    s1 = cin.good();
    cin.clear();
    cin.sync();
   
   
   
    cout << "podaj druga liczbe rzeczywista: " << endl;
    cin >> b;
    s2 = cin.good();
   
    cin.clear();
    cin.sync();
   
   
    cout << "podaj trzecia liczbe rzeczywista: " << endl;
    cin >> c;
    s3 = cin.good();
   
    cin.clear();
    cin.sync();
   
    cout << "pierwsza liczba to ; " << a << " wczytano? " << s1 << endl;
    cout << "druga liczba to ; " << b << " wczytano? " << s2 << endl;
    cout << "trzecia liczba to : " << c << " wczytano? " << s3 << endl;
   
   
    return 0;
   
   
}
P-159590
Kurzciel
Temat założony przez niniejszego użytkownika
» 2017-03-30 09:07:03
Karamba to cudotwórca :D
Panniikt, odpaliłem Twój kod i wszystko zadziałało tak, jak w zadaniu, gratuluję :) Jeśli możesz, sprawdź tak samo mój (u mnie działa, ale lepiej sprawdzić dwa razy):

C/C++
#include <iostream>
#include <stdlib.h>
int main()

{
    float a;
    float b;
    float c;
   
    bool s1;
    bool s2;
    bool s3;
   
    std::cout << "Liczba pierwsza to:";
    std::cin >> a;
    s1 = std::cin.good();
    std::cin.clear();
    std::cin.sync();
    std::cout << "Liczba druga to:";
    std::cin >> b;
    s2 = std::cin.good();
    std::cin.clear();
    std::cin.sync();
    std::cout << "Liczba trzecia to:";
    std::cin >> c;
    s3 = std::cin.good();
    std::cin.clear();
    std::cin.sync();
   
   
    std::cout << "Pierwsza liczba to: " << a;
    std::cout << " \t Wczytano? " << s1 << std::endl;
    std::cout << "Druga liczba to: " << b;
    std::cout << " \t Wczytano? " << s2 << std::endl;
    std::cout << "Trzecia liczba to: " << c;
    std::cout << " \t Wczytano? " << s3 << std::endl;
   
    system( "PAUSE" );
    return 0;
}
P-159595
1 « 2 »
Poprzednia strona Strona 2 z 2