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

Prosty kalkulator

Ostatnio zmodyfikowano 2011-06-01 23:48
Autor Wiadomość
Matti
Temat założony przez niniejszego użytkownika
Prosty kalkulator
» 2011-06-01 12:23:05
C/C++
#include <iostream>
using namespace std;
int main()
{
    float a;
    cout << "Podaj pierwsza liczbe: ";
    cin >> a;
    cout << "Podaj druga liczbe: ";
    float b;
    cin >> b;
    int liczba;
    cout << "Wybierz rodzaj dzialania: " << endl;
    cout << "1. Dodawanie" << endl;
    cout << "2. Odejmowanie" << endl;
    cout << "3. Mnozenie" << endl;
    cout << "4. Dzielenie" << endl;
    cin >> liczba;
    switch( liczba )
    {
    case 1:
        cout << "a + b = " << a + b << endl;
        break;
    case 2:
        cout << "a - b = " << a - b << endl;
        break;
    case 3:
        cout << "a * b = " << a * b << endl;
        break;
    case 4:
        if( b == 0 )
             cout << "Nie dzielimy przez 0!" << endl;
        else
             cout << "a / b = " << a / b << endl;
       
        break;
        default:
        cout << "Nie wybrales poprawnego numeru dzialania, aplikacja przerwana." << endl;
        break;
    }
    return 0;
   
}
Napisałem taki oto prosty kalkulator jako zadanie domowe działu "Warunek wielokrotnego wyboru switch ... case" i niby wszystko ładnie śmiga, ale nie wiem czemu nie mogę pracować na liczbach ujemnych. Może mi ktoś wytłumaczyć? :)
P-33725
szyx_yankez
» 2011-06-01 12:51:34
Jak to nie możesz? Jakie są tego objawy.
P-33726
Matti
Temat założony przez niniejszego użytkownika
» 2011-06-01 12:53:21
Wrzuć, skompiluj i zobacz co się stanie, gdy wpiszesz np. a = 1, b = -2 i wybierzesz jakiekolwiek działanie. Aplikacja się po prostu zamknie.
P-33727
szyx_yankez
» 2011-06-01 13:10:02
Zapewne chodzi o to, że aplikacja się za szybko zamyka.
Dodaj
#include<windows.h>
 na początku programu oraz
Sleep( 2000 );
 przed
return 0;
P-33728
Mrowqa
» 2011-06-01 18:00:34
@up to da tylko 2 sek.
Polecam:
1.
C/C++
system( "pause" );
return 0;
2.
C/C++
#include <conio.h>
//...
getch();
return 0;
Co spowoduje odczekanie do naciśnięcia jakiego kolwiek klawisza.

Pozdrawiam,
Mrowqa
P-33740
Matti
Temat założony przez niniejszego użytkownika
» 2011-06-01 20:43:09
Eh, nie do końca to miałem na myśli. Widzę, że tylko na moim komputerze ( kolega sprawdzał ) aplikacja zadziała z liczbami dodatnimi i wykona działanie. Chcę wiedzieć, czemu nie działa mi z ujemnymi... Bo tylko z ujemnymi się zbyt wcześnie wyłącza. Poza tym w poradniku przez te 14 lekcji nie wystąpiły rzeczy, które mi podsuwacie jako rozwiązanie, więc sądzę, że autor poradnika miał na myśli inne rozwiązanie. Jakie? - właśnie to chciałbym wiedzieć.
Swoją drogą tylko drugie rozwiązanie z ostatniego posta mi działa. Z pierwszym program się nie kompiluje. Używam code::blocks 10.05.
P-33751
Mrowqa
» 2011-06-01 20:54:16
Nie kompilowałem tego ( bo wg mnie kod jest dobry ), ale może masz dziwną implementację i float traktuje kompilator jako unsigned float. Liczby na których wykonujesz działania spróbuj zdefinować jako
signed float
 :) Sprawdź i powiedz czy działa :)

Pozdrawiam,
Mrowqa
P-33753
Elaine
» 2011-06-01 21:21:25
Słowa kluczowe signed i unsigned dotyczą tylko typów całkowitych, float takim nie jest, więc takie coś się nie skompiluje.
P-33754
« 1 » 2
  Strona 1 z 2 Następna strona