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

Lekcja 14 - Kalukator (switch, case) drobny problem

Ostatnio zmodyfikowano 2014-03-05 21:36
Autor Wiadomość
outlet52
Temat założony przez niniejszego użytkownika
Lekcja 14 - Kalukator (switch, case) drobny problem
» 2014-03-02 22:45:07
Napisz prosty kalkulator dla dwóch liczb, obsługujący cztery działania matematycznie: +, -, * i /. Wykorzystaj wiedzę zdobytą z niniejszego rozdziału.
Witam mam problem tylko z jedną rzeczą w owym zadaniu, nie wiem jak zrobić, żeby zamiast cyfr (1-4), wpisywanie wyrazów (suma, różnica) uruchamiało jakiś warunek;

Tutaj zamieszczam kalkulator z działającymi cyframi (1-4);
C/C++
#include <iostream>
using namespace std;

main()
{
    double a, b;
    int kalkulator;
   
    cout << "= WITAMY W KALKULATORZE NAJNOWSZEJ GENERACJI =" << endl;
    cout << "Jakie dzialanie chcesz przeprowadzic? (Suma, roznica, iloczyn, iloraz)" << endl;
    cin >> kalkulator;
   
    switch( kalkulator )
    {
    case 1:
        cout << "\nWprowadz pierwsza liczbe: ";
        cin >> a;
        cout << "Wprowadz druga liczbe: ";
        cin >> b;
        cout << "\n Suma liczby " << a << " i liczby " << b << " wynosi: " << a + b;
        break;
       
    case 2:
        cout << "\nWprowadz pierwsza liczbe: ";
        cin >> a;
        cout << "Wprowadz druga liczbe: ";
        cin >> b;
        cout << "\n Roznica liczby " << a << " i liczby " << b << " wynosi: " << a - b;
        break;
       
    case 3:
        cout << "\nWprowadz pierwsza liczbe: ";
        cin >> a;
        cout << "Wprowadz druga liczbe: ";
        cin >> b;
        cout << "\n Iloczyn liczby " << a << " i liczby " << b << " wynosi: " << a * b;
        break;
       
    case 4:
        cout << "\nWprowadz pierwsza liczbe: ";
        cin >> a;
        cout << "Wprowadz druga liczbe: ";
        cin >> b;
        cout << "\n Iloraz liczby " << a << " i liczby " << b << " wynosi: " << a / b;
        break;
       
    default:
        cout << "\nNie wiem co zrobiles ale zjebales :(";
        break;
    }
   
    cin.get();
    return 0;
}
A tutaj moja nędzna próba :P z użyciem if'u
C/C++
#include <iostream>
using namespace std;

main()
{
    double a, b;
    char kalkulator;
   
    cout << "= WITAMY W KALKULATORZE NAJNOWSZEJ GENERACJI =" << endl;
    cout << "Jakie dzialanie chcesz przeprowadzic? (Suma, roznica, iloczyn, iloraz)" << endl;
    cin >> kalkulator;
   
    if( kalkulator == "suma" ) kalkulator = 1;
   
    switch( kalkulator )
    {
    case 1:
        cout << "\nWprowadz pierwsza liczbe: ";
        cin >> a;
        cout << "Wprowadz druga liczbe: ";
        cin >> b;
        cout << "\n Suma liczby " << a << " i liczby " << b << " wynosi: " << a + b;
        break;
       
    case 2:
        cout << "\nWprowadz pierwsza liczbe: ";
        cin >> a;
        cout << "Wprowadz druga liczbe: ";
        cin >> b;
        cout << "\n Roznica liczby " << a << " i liczby " << b << " wynosi: " << a - b;
        break;
       
    case 3:
        cout << "\nWprowadz pierwsza liczbe: ";
        cin >> a;
        cout << "Wprowadz druga liczbe: ";
        cin >> b;
        cout << "\n Iloczyn liczby " << a << " i liczby " << b << " wynosi: " << a * b;
        break;
       
    case 4:
        cout << "\nWprowadz pierwsza liczbe: ";
        cin >> a;
        cout << "Wprowadz druga liczbe: ";
        cin >> b;
        cout << "\n Iloraz liczby " << a << " i liczby " << b << " wynosi: " << a / b;
        break;
       
    default:
        cout << "\nNie wiem co zrobiles ale zjebales :(";
        break;
    }
   
    cin.get();
    return 0;
}
Błędy:
In function 'int main()':
[Error] ISO C++ forbids comparison between pointer and integer [-fpermissive]
Pytanie jest proste, co robie źle?
P-105541
Monika90
» 2014-03-03 08:28:27
Zmienna kalkulator jest typu char, tzn. zawiera jeden znak. Możesz dopisać #include <string> i zadeklarować std::string kalkulator; to wtedy zmieści się w niej cały napis. Będziesz też musiał zrezygnować z przypisywania liczby 1 do tej zmiennej, bo to nie ma sensu.
P-105546
pekfos
» 2014-03-03 08:28:47
» Kurs C++ » Poziom 3Zmienne przechowujące tekst lekcja
lub tablica char.
P-105547
maciek77
» 2014-03-05 17:43:34
<< removed - załóż własny temat. Porządek musi być >>
P-105669
Ard123
...
» 2014-03-05 21:36:32

Ale jeśli zrobi tak jak mówicie, to nie użyje switch, bo on obsługuje tylko liczby całkowite, a tekst nie może być liczbą całkowitą.
P-105704
« 1 »
  Strona 1 z 1