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

Lekcja 15 - praca domowa

Ostatnio zmodyfikowano 2012-05-10 22:47
Autor Wiadomość
wilkoo13
Temat założony przez niniejszego użytkownika
Lekcja 15 - praca domowa
» 2012-05-10 22:12:16
Mam problem z pracą domową:
Napisz program, który wczyta liczbę, a następnie wypisze ją na ekranie. Zabezpiecz przed wczytaniem nieprawidłowej liczby. Wykorzystaj do tego celu wiedzę z jednego z poprzednich rozdziałów. Sposób działania programu:
1. Podaj liczbę
2. Jeżeli błąd, wróć do kroku 1.
3. Wypisz liczbę, która została podana.

zrobiłem to tak:

C/C++
#include <iostream>
using namespace std;
int main()
{
    int a;
    bool b;
    do
    {
        cout << "Podaj liczbe: " << endl;
        cin >> a;
        b = a;
    } while( b >= 0 || b <= 0 );
   
    cout << "Ta liczba to: " << a << endl;
   
    return 0;
}
P-56430
xevuel
» 2012-05-10 22:14:15
I jaki problem? Podpowiem tyle, że masz błąd w konstrukcji do...while.

Poza tym - » Kurs C++ » Poziom 1Obsługa strumienia wejściowego lekcja
P-56431
wilkoo13
Temat założony przez niniejszego użytkownika
» 2012-05-10 22:15:22
Ok.
Chcę aby się powtarzała komenda cout << "Podaj liczbe: " << endl; wraz z cin >> a; za każdym razem gdy została wpisana litera zamiast liczby. Napisałem while( b >= 0 || b <= 0 ); chociarz nie wiem co w tym źle. <-- ale tamto "b" chyba można zmienić na "a"? nie?
P-56432
wilkoo13
Temat założony przez niniejszego użytkownika
» 2012-05-10 22:25:08
Ok udalo mi sie to poprawić!!! Dzięki za link. xevuel.

C/C++
#include <iostream>
using namespace std;
int main()
{
    float a;
    bool b;
    do
    {
        cout << "Podaj liczbe: " << endl;
        cin >> a;
        cout << "Wczytano?: " << cin.good() << endl;
        b = a;
        cin.clear();
        cin.sync();
    } while( !b );
   
    cout << "Ta liczba to: " << a << endl;
   
    return 0;
}
P-56434
xevuel
» 2012-05-10 22:28:59
Po pierwsze - używaj "Edytuj".
Po drugie - napisz, co ci nie działa tak jakbyś chciał, i jak działa.
P-56435
SeaMonster131
» 2012-05-10 22:36:14
Masz wszystko w kursie. @xevuel dał Ci linka.
P-56440
xevuel
» 2012-05-10 22:47:54
Ja nie wiem, jak można skonstruować warunek
while( b >= 0 || b <= 0 )
, już nie chodzi o to, czy ma być a, czy b. To tak jakbyś dał tam
true
. Przetłumacz to sobie na polski i zobacz, co napisałeś. Następnie,
bool
 a
int
 to coś innego, chociaż
bool
 jest synonimem
int
.

ale tamto "b" chyba można zmienić na "a"? nie?
Nawet powinieneś.

I na końcu - tak jak @Sea, a nawet więcej - zacznij kurs od nowa, bo nie rozumiesz nie tylko jakich typów używać do jakich zmiennych (a to są podstawy podstaw, mimo, że w kursie są dopiero w 8 lekcji), ale też na dodatek nie rozumiesz warunków logicznych...
P-56441
« 1 »
  Strona 1 z 1