[C++] Jeśli wprowadzono liczbę

C++ uczę się od 15 minut, na razie udało mi się napisać kalkulatorowacza:

#include 

#include 

using namespace std;

int main()

{

    cout<<"'Kalkulatorowacz pr0 edition' by Marcin, idea by Pawel, writed in C++"<
    int a;

    int b;

    char c;

    cout<<"Enter the A number and press ENTER:"<
    cin>>a;

    cout<<"Enter the B number and press ENTER:"<
    cin>>b;

    cout<<"What you want to do (+,-,*,/)?"<
    cin>>c;

    if(c=='+'||c=='-'||c=='*'||c=='/') {

    if(c=='+') cout<<"Result is: "<
    if(c=='-') cout<<"Result is: "<
    if(c=='*') cout<<"Result is: "<
    if(c=='/') cout<<"Result is: "<
    } else cout<<"Sorry, but '"<
    cout<<"Press any key to exit."<
    getch();

    return(0);

}

[/code]

Takk, ale mój kalkulatorowacz oblicza też litery (xD). Jak zrobić, aby po wprowadzeniu liter wywalało błąd?

szukaj funkcji isalpha,sprawdza czy wprowadzony znak nie jest literą alfabetu

albo jeszcze innaczej

if (liczba<“a”) && (liczba>“Z”)

{

cout << “Wprowadziles litere”;

}

Chodzi tu o zakres kodów znaków,jeśli wprowadzisz coś z tego zakresu to wiadomo,że to litera

Dzięki Johny!

po pierwsze, to się nie skompiluje, po drugie raczej:

if((liczba<"a")&&(liczba>"Z")) cout<<"Wprowadziles jeden z 5-ciu znakow: [\]^_`"; [/code]

:lol:

[code=php]    int a;
    cina;
    if(cin)
      {
       cout"poprawnie wprowadziles liczbe"endl;
      }
    else
{
       cout"blad wprowadzenia"endl;
       // następne dwie instrukcji potrzebne tylko jeżeli program musi dalej działać
       cin.clear(); // jeżeli nie udało się wprowadzić liczby to ustawiony został ios::badbit 
                    // dopóki nie zostanie zresetowany np za pomocą clear() - cin nie będzie nic “wprowadzał”
       cin.ignore(INT_MAX,’\n’); // wywal wszystkie znaki z bufora do najbliższego entera
                                 // do INT_MAX potrzebne jest #include 
      } 

  1. Pomysł Johnego poprawiłem i działa.

  2. Twój jest trochę lepszy.

  3. Jak zrobiłeś kolorowanie składni w CODE? :stuck_out_tongue:

Nie wierze, pokaż jak poprawiłeś.

Naciśnij i sam zobacz.

Czasami nie zbyt dobrze koloruje, bo jednak to dla php.

Jeszcze odnośnie twojego kodu:

if(a||b||c||d) {    if(a) rob_A;    if(b) rob_B;    if(c) rob_C;    if(d) rob_D;    } else rob_cos; [/code]ma sens zamienić na:
[code=php]if(a) rob_A;else if(b) rob_B;else if(c) rob_C;else if(d) rob_D;else rob_cos;

Spoko ale znalazłem inne rozwiązanie:

Zakres int wynosi: od -2147483648 do 2147483647, więc…

if(a>-2147483648 && a<2147483648) [/code]