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

[Lekcja 15] Zadanie domowe - kalkulator

Ostatnio zmodyfikowano 2013-02-21 00:48
Autor Wiadomość
azbest22
Temat założony przez niniejszego użytkownika
[Lekcja 15] Zadanie domowe - kalkulator
» 2013-02-21 00:48:05
Witam Mam Problem z kalkulatorem z zadania domowego. Mam błedy przy kompilacji ale dotyczą one czyszczenia stringów pod linuxem ;/

wklejam kodzik i to co kompilator wywala
C/C++
#include<iostream>
#include<limits>
#include<string>
using namespace std;
main()
{
    float liczba1 = 0;
    float liczba2 = 0;
    int znak = 1;
    bool text = true;
    const string znaki = "Wybierz działanie:\n[1]dodawanie\n[2]odejmowanie\n[3]mnożenie\n[4]dzielenie\n[0]Wyjście\n";
    do //wprowadzanie pierwszej liczby
    {
        cin.clear();
        cin.ignore( numeric_limits < streamsize >::max(), "\n" );
        cout << "podaj liczbę";
        cin >> liczba1;
        text = cin.good();
        if( text == false )
        {
            cout << "to nie jest liczba";
        }
        else
        {
            cout << liczba1 << "\n" << znaki;
        }
    } while( text == true );
   
    do
    {
        do //wybieranie działania
        {
            cin.clear();
            cin.ignore( numeric_limits < streamsize >::max(), "\n" );
            cin >> znak;
            text = cin.good();
            if(( text == false ) ||( znak > 4 ) ||( znak < 0 ) )
            {
                cout << "nieprawidłowa operacja\n" << znaki << "\n";
            }
            else
            {
                cout << "podaj drugą liczbę:\n";
            }
        } while( text == true );
       
        do
        {
            cin.clear();
            cin.ignore( numeric_limits < streamsize >::max(), "\n" );
            cout << "podaj liczbę";
            cin >> liczba2;
            text = cin.good();
            if( text == false )
            {
                cout << "to nie jest liczba";
            }
            else
            {
                switch( znak )
                {
                case 0:
                    {
                        return 0;
                        break;
                    }
                case 1:
                    {
                        liczba1 = liczba1 + liczba2;
                        break;
                    }
                case 2:
                    {
                        liczba1 = liczba1 - liczba2;
                        break;
                    }
                case 3:
                    {
                        liczba1 = liczba1 * liczba2;
                        break;
                    }
                case 4:
                    {
                        if( liczba2 == 0 )
                        {
                            cout << "nie dzielimy przez 0!!!!!!!!!!";
                            text = false;
                        }
                        else
                        {
                            liczba1 = liczba1 / liczba2;
                        }
                        break;
                    }
                }
                cout << liczba1 << "\n" << znaki << "\n";
            }
        } while( text == true );
       
       
       
    } while( znak == 0 );
   
    return 0;
}

/home/azbest22/programy/kurs007calcplus.cpp||In function ‘int main()’:|
/home/azbest22/programy/kurs007calcplus.cpp|15|error: invalid conversion from ‘const char*’ to ‘int’|
/home/azbest22/programy/kurs007calcplus.cpp|15|error:   initializing argument 2 of ‘std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::ignore(std::streamsize, typename _Traits::int_type) [with _CharT = char, _Traits = std::char_traits<char>]’|
/home/azbest22/programy/kurs007calcplus.cpp|33|error: invalid conversion from ‘const char*’ to ‘int’|
/home/azbest22/programy/kurs007calcplus.cpp|33|error:   initializing argument 2 of ‘std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::ignore(std::streamsize, typename _Traits::int_type) [with _CharT = char, _Traits = std::char_traits<char>]’|
/home/azbest22/programy/kurs007calcplus.cpp|48|error: invalid conversion from ‘const char*’ to ‘int’|
/home/azbest22/programy/kurs007calcplus.cpp|48|error:   initializing argument 2 of ‘std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::ignore(std::streamsize, typename _Traits::int_type) [with _CharT = char, _Traits = std::char_traits<char>]’|
||=== Build failed: 6 error(s), 0 warning(s) (0 minute(s), 0 second(s)) ===|
staram sie dzialac na debianie z wsparciem code::blocks i g++

a swoją drogą sam kalkulator może być totalnie źle rozwiązany ale takie poprawki to będę robił dopiero jak będę miał możliwość odpalenia tego tworu więc proszę nie podpowiadać jak zbudować samą mechanike do tego zadania;]
z góry dziękuję za pomoc


Problemembła literówka i już został rozwiązany
P-76603
« 1 »
  Strona 1 z 1