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

Problem kalkulator- lekcja 15

Ostatnio zmodyfikowano 2012-05-17 16:37
Autor Wiadomość
osaa123
Temat założony przez niniejszego użytkownika
Problem kalkulator- lekcja 15
» 2012-05-16 22:16:40
Cześć
Mam problem z tym ,że gdy przy wprowadzaniu liczby podam zero-to pętla zadziała, Później mogę wpisywac litery i pętla dalej bedzie dzialać,jednak gdy zaraz po uruchomieniu programu wpisze litere, to program nie uzna tego za bląd.I pytanie- co mam źle i co poprawić?? Z góry dzięki ;)

C/C++
#include <iostream>
int main()
{
    int a;
    int b;
    int suma = a + b;
    int roznica = a - b;
    int iloczyn = a * b;
    int iloraz = a / b;
    int reszta = a % b;
    int akcja;
   
    std::cout << "Wprowadz pierwsza liczbe: ";
    std::cin >> a;
    std::cin.clear();
    std::cin.sync();
    if( !a )
    do
    {
        std::cout << "Wystapil blad.Wpisz liczbe rozna od zera: ";
        std::cin >> a;
        std::cin.clear();
        std::cin.sync();
    } while( !a );
   
    std::cout << "Skorzystaj z ponizszego menu: " << std::endl;
PS nie wklejałem całego kodu bo początek jest najważniejszy
P-56827
flex55
» 2012-05-17 07:50:44
przecież Ty sprawdzasz czy a jest różne od 0, a nie czy do a wczytałeś poprawną wartość, jaką jest liczba.
cin.good();
 zwraca true jeśli wczytałeś poprawną wartość do zmiennej
P-56836
RazzorFlame
» 2012-05-17 08:13:58
I tak na przyszłość:
C/C++
int a, b;
int suma = a + b; /*?? o co w tym chodzi na poczatku 'a' jak i 'b' ma jakies smieci jak 22324324
                    po wczytaniu liczby dopiero przypisuj wartosc
                  */
P-56837
osaa123
Temat założony przez niniejszego użytkownika
» 2012-05-17 16:37:13
Ok dzięki działa wszystko zapomniałem o bool ;)
P-56848
« 1 »
  Strona 1 z 1