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

Prosty kalkulator z wykorzystaniem funkcji, proszę o pomoc

Ostatnio zmodyfikowano 2016-06-20 17:43
Autor Wiadomość
carlosmay
» 2016-06-20 15:21:34
C/C++
{
    int a = wczyta();
    int b = wczytb();
    std::cout << "a + b =" << dodaj( a, b );
}
Taki kod daje gwarancję kolejności wykonania wczytywania.
W poprzednim przypadku zależy od kompilatora.
P-149302
Maciekb
Temat założony przez niniejszego użytkownika
» 2016-06-20 15:45:02
Bardzo pomogliście, dziękuję:)
P-149303
Maciekb
Temat założony przez niniejszego użytkownika
» 2016-06-20 16:56:58
C/C++
#include<iostream>
using namespace std;
int wczytaja()
{
    int a;
    cout << "Podaj a:";
    cin >> a;
    return a;
}

int wczytajb()
{
    int b;
    cout << "Podaj b:";
    cin >> b;
    return b;
}
int wczytajc()
{
    int c;
    cout << "Podaj liczbe: +1 -2 *3 /4 koniec5:";
    cin >> c;
    return c;
}
int dodawanie( int a, int b )
{
    return a + b;
}

int odejmowanie( int a, int b )
{
    return a - b;
}

int mnozenie( int a, int b )
{
    return a * b;
}

int dzielenie( int a, int b )
{
    return a / b;
}


int main()
{
    do
    {
       
        cin.clear();
        cin.sync();
       
        int c = wczytajc();
        if( 0 == cin.good() ||( c != 1 && c != 2 && c != 3 && c != 4 && c != 5 ) )
             cout << "Zle dane!" << endl;
        else
        {
            int a = wczytaja();
            if( 0 == cin.good() )
                 cout << "Zle dane!" << endl;
            else
            {
                int b = wczytajb();
                if( 0 == cin.good() )
                     cout << "Zle dane!" << endl;
                else
                {
                   
                    switch( c )
                    {
                    case 1:
                        cout << "a+b=" << dodawanie( a, b ) << endl;
                        break;
                    case 2:
                        cout << "a-b=" << odejmowanie( a, b ) << endl;
                        break;
                    case 3:
                        cout << "a*b=" << mnozenie( a, b ) << endl;
                        break;
                    case 4:
                        {
                            if( b == 0 )
                                 cout << "Zle dane!" << endl;
                            else
                                 cout << "a/b=" << dzielenie( a, b ) << endl;
                           
                        }
                        break;
                       
                    }
                   
                }
            }
        }
    }
    while( c != 5 );
   
    cout << "Koniec:)";
   
}
C:\Users\Maciek\Desktop\funkcje 4.cpp||In function 'int main()':|
C:\Users\Maciek\Desktop\funkcje 4.cpp|98|error: 'c' was not declared in this scope|
||=== Build finished: 1 errors, 0 warnings ===|

Co zrobić żeby kompilator widział to 'c'?




P-149314
Gibas11
» 2016-06-20 17:12:46
Reszty kodu nie sprawdzałem.

C/C++
int main()
{
    int c; //Deklaracja przeniesiona przed pętlę
    do
    {
       
        cin.clear();
        cin.sync();
       
        c = wczytajc(); //Tu kompilator używa już istniejącej zmiennej
        if( 0 == cin.good() ||( c != 1 && c != 2 && c != 3 && c != 4 && c != 5 ) )
             cout << "Zle dane!" << endl;
        else
        {
            int a = wczytaja();
            if( 0 == cin.good() )
                 cout << "Zle dane!" << endl;
            else
            {
                int b = wczytajb();
                if( 0 == cin.good() )
                     cout << "Zle dane!" << endl;
                else
                {
                   
                    switch( c )
                    {
                    case 1:
                        cout << "a+b=" << dodawanie( a, b ) << endl;
                        break;
                    case 2:
                        cout << "a-b=" << odejmowanie( a, b ) << endl;
                        break;
                    case 3:
                        cout << "a*b=" << mnozenie( a, b ) << endl;
                        break;
                    case 4:
                        {
                            if( b == 0 )
                                 cout << "Zle dane!" << endl;
                            else
                                 cout << "a/b=" << dzielenie( a, b ) << endl;
                           
                        }
                        break;
                       
                    }
                   
                }
            }
        }
    }
    while( c != 5 );
   
    cout << "Koniec:)";
   
}
P-149317
Maciekb
Temat założony przez niniejszego użytkownika
» 2016-06-20 17:43:01
ok
P-149318
1 « 2 »
Poprzednia strona Strona 2 z 2