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

[Rozdział 9] Obsługa strumienia wejściowego - Zadanie domowe

Ostatnio zmodyfikowano 2015-04-02 21:24
Autor Wiadomość
Bubu
Temat założony przez niniejszego użytkownika
[Rozdział 9] Obsługa strumienia wejściowego - Zadanie domowe
» 2015-03-30 11:23:42
"Napisz program, który wczyta trzy liczby rzeczywiste, a na końcu programu je wszystkie wypisze. Zadbaj o to, by bufor strumienia wejściowego był za każdym razem czyszczony. Wynik końcowy powinien również zawierać informacje czy wczytanie danej liczby się powiodło."

Napisałem taki kod, ale gdy wpisze literę to wyskoczy mi 0 ale, program od razu się zamyka a dalsze liczby same się losują, jak mam to naprawić bo naprawdę nie mam pomysłu.

C/C++
int main()
{
    int a, b, c;
   
    cout << "Podaj liczbe a:" << endl;
    cin >> a;
    cout << "Podaj liczbe b:" << endl;
    cin >> b;
    cout << "Podaj liczbe c:" << endl;
    cin >> c;
   
    cout << "Liczba a to: " << a << ". Wczytano? " << cin.good() << cin.fail() << endl;
    cout << "Liczba b to: " << b << ". Wczytano? " << cin.good() << endl;
    cout << "Liczba c to: " << c << ". Wczytano? " << cin.good() << endl;
    return 0;
}
P-129533
wojownik266
» 2015-03-30 11:26:37
Aby program się nie zamykał tak szybko możesz dopisać przed return taką instrukcję albo dwie:
C/C++
cin.get();
P-129534
Bubu
Temat założony przez niniejszego użytkownika
» 2015-03-30 12:44:34
Ale jak zrobić zależność, aby wyświetlało 1 jeżeli prawda 0 jeżeli to nie jest liczba. Bo w tym wypadku wyświetla mi 01 albo 10 i wyrzuca program.
P-129539
wojownik266
» 2015-03-30 13:49:42
Według mnie można to zrobić na co najmniej dwa sposoby. Jeden z nich ma się tak jak poniżej. O ile dobrze Cię zrozumiałem..!?
C/C++
#include <iostream>
#include <cctype>
using namespace std;

int main()
{
    char a = { 0 };
    bool cyf = false;
    cout << "Podaj liczbe lub znak:";
    cin >> a;
    if( isdigit( a ) )
    {
        cyf = true;
        cout << "Podany znak jest cyfra:" << cyf << endl;
    }
    else
    {
        cyf = false;
        cout << "Podany znak nie jest cyfra:" << cyf << endl;
    }
   
    cin.get();
    return 0;
}
P-129541
Bubu
Temat założony przez niniejszego użytkownika
» 2015-03-30 13:58:29
Ale nie używając if oraz char bo tego nie ma w tej części kursu. Wskazówka to, żeby użyć bool, a ja i tak nie rozumiem jego działania.
P-129546
Gravity
» 2015-04-02 16:42:45
C/C++
Sry nie doczyta ł em, ż e bez ifa.Zaraz zedytuje.
P-129930
Brunon3
» 2015-04-02 20:54:32
@up: Po co używać znacznika [cpp] tylko po to żeby utrudnić czytanie posta..?

-BD.
P-129946
pompek28
» 2015-04-02 21:21:10
Tez chcialbym poznac odpowiedz bez if
P-129950
« 1 » 2
  Strona 1 z 2 Następna strona