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

Zapisywanie wyniku

Ostatnio zmodyfikowano 2016-05-17 19:20
Autor Wiadomość
kamicanerkowa1
Temat założony przez niniejszego użytkownika
Zapisywanie wyniku
» 2016-05-17 18:19:45
Witam, jestem nowy w programowaniu, i podczas robienia kalkulatora napotkałem na problem. Mianowicie, chce aby po pierwszym działaniu zapisać wynik w pamięci kalkulatora, aby móc wykorzyctać go do dalszych obliczeń. Chciałbym zapytać się, czy jest taka możliwość, oraz czy taki laik jak ja jest w stanie to zrobić, czy do togo potrzeba więcej "zaawansowania" KOD:
C/C++
#include <iostream>
#include <cstdlib>
#include <math.h>
int main()
{
    start:
    long wybor;
    std::cout << "Piotrkowy kalkulator v3 :]\n";
    std::cout << "Wybierz dzialanie\n";
    std::cout << "Dodawanie: 1\nOdejmowanie: 2\nMnozenie: 3\nDzielenie: 4\nPotegowanie: 5\nPierwiastkowanie: 6\nWyjscie: 7\n";
    std::cin >> wybor;
    system( "cls" );
    switch( wybor )
    {
    case 1:
        {
            long double a, b;
            long wyl;
            std::cout << "Podaj pierwsza liczbe\n";
            std::cin >> a;
            std::cout << "\nPodaj druga liczbe\n";
            std::cin >> b;
            system( "cls" );
            std::cout << "Dzialanie to: " << a << "+" << b << std::endl;
            std::cout << "Wynik to: " << a + b << std::endl;
            std::cout << "Wylaczyc kalkulator?\nTak: 1\nNie: 2\n";
            std::cin >> wyl;
            switch( wyl )
            {
            case 1:
                {
                    return 0;
                    break;
                }
            case 2:
                {
                    system( "cls" );
                    goto start;
                    break;
                }
            }
            break;
        }
    case 2:
        {
            long double a, b;
            long wyl;
            std::cout << "Podaj pierwsza liczbe\n";
            std::cin >> a;
            std::cout << "\nPodaj druga liczbe\n";
            std::cin >> b;
            system( "cls" );
            std::cout << "Dzialanie to: " << a << "-" << b << std::endl;
            std::cout << "Wynik to: " << a - b << std::endl;
            std::cout << "Wylaczyc kalkulator?\nTak: 1\nNie: 2\n";
            std::cin >> wyl;
            switch( wyl )
            {
            case 1:
                {
                    return 0;
                    break;
                }
            case 2:
                {
                    system( "cls" );
                    goto start;
                    break;
                }
            }
        }
    case 3:
        {
            long double a, b;
            long wyl;
            std::cout << "Podaj pierwsza liczbe\n";
            std::cin >> a;
            std::cout << "\nPodaj druga liczbe\n";
            std::cin >> b;
            system( "cls" );
            std::cout << "Dzialanie to: " << a << "*" << b << std::endl;
            std::cout << "Wynik to: " << a * b << std::endl;
            std::cout << "Wylaczyc kalkulator?\nTak: 1\nNie: 2\n";
            std::cin >> wyl;
            switch( wyl )
            {
            case 1:
                {
                    return 0;
                    break;
                }
            case 2:
                {
                    system( "cls" );
                    goto start;
                    break;
                }
            }
            break;
        }
    case 4:
        {
            long double a, b;
            long wyl;
            std::cout << "Podaj pierwsza liczbe\n";
            std::cin >> a;
            std::cout << "\nPodaj druga liczbe\n";
            std::cin >> b;
            system( "cls" );
            std::cout << "Dzialanie to: " << a << ":" << b << std::endl;
            std::cout << "Wynik to: " << a / b << std::endl;
            std::cout << "Wylaczyc kalkulator?\nTak: 1\nNie: 2\n";
            std::cin >> wyl;
            switch( wyl )
            {
            case 1:
                {
                    return 0;
                    break;
                }
            case 2:
                {
                    system( "cls" );
                    goto start;
                    break;
                }
            }
            break;
        }
    case 5:
        {
            long double a, b;
            long wyl;
            std::cout << "Podaj podstawe\n";
            std::cin >> a;
            std::cout << "Podaj wykladnik\n";
            std::cin >> b;
            system( "cls" );
            std::cout << "Dzialanie to: " << a << "^" << b << std::endl;
            std::cout << "Wynik to: " << pow( a, b ) << std::endl;
            std::cout << "Wylaczyc kalkulator?\nTak: 1\nNie: 2\n";
            std::cin >> wyl;
            switch( wyl )
            {
            case 1:
                {
                    return 0;
                    break;
                }
            case 2:
                {
                    system( "cls" );
                    goto start;
                    break;
                }
            }
            break;
        }
    case 6:
        {
            long double a;
            long wyl, wyn;
            std::cout << "Podaj liczbe\n";
            std::cin >> a;
            system( "cls" );
            std::cout << "Dzialanie to: pierwiastek z " << a << std::endl;
            std::cout << "Wynik to: ";
            wyn = pow( a,( 1 / 2.0 ) );
            std::cout << wyn << std::endl;
            std::cout << "Wylaczyc kalkulator?\nTak: 1\nNie: 2\n";
            std::cin >> wyl;
            switch( wyl )
            {
            case 1:
                {
                    return 0;
                    break;
                }
            case 2:
                {
                    system( "cls" );
                    goto start;
                    break;
                }
            }
            break;
        }
    case 7:
        {
            return 0;
        }
    }
    return 0;
}
P-148337
carlosmay
» 2016-05-17 19:20:34
Chciałbym zapytać się, czy jest taka możliwość, oraz czy taki laik jak ja jest w stanie to zrobić, czy do togo potrzeba więcej "zaawansowania" KOD:
Do tego nie potrzeba nic ponad to co już umiesz.

Zadeklaruj dodatkową zmienną przechowującą wynik działania. Przykład:
C/C++
int result;
int a, b;
std::cin >> a >> b;
result = a + b;
std::cout << result << std::endl;
std::cin >> b;
result = result + b; // result += b;
std::cout << result << std::endl;

goto
 to koszmarny pomysł. Zamiast tego użyj pętli.
Dzięki pętli można zaoszczędzić przepisywanie takich samych fragmentów kodu (lub użyć funkcji).

Kod jest mocno przekombinowany. Połowę można spokojnie wyrzucić i nie straci na funkcjonalności.
P-148339
« 1 »
  Strona 1 z 1