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

Lekcja 15 - Kalkulator

Ostatnio zmodyfikowano 2012-10-05 00:24
Autor Wiadomość
Totalq
Temat założony przez niniejszego użytkownika
Lekcja 15 - Kalkulator
» 2012-10-04 22:34:48
Witajcie.

Chciałem napisać kalkulator modyfikując jednak nieco warunki:
1. Program początkowo miał wypisać początkowy wynik (na starcie wynik = 0).
2. Następnie musimy wybrać działanie.
3. Kolejnym zadaniem jest wybraniem liczby, którą będziemy operować.
4. Jeżeli wybraliśmy liczbe 0 lub nie wybraliśmy działania (podaliśmy liczbe inną od a >= 1 && a <= 4) program się kończy.
5. W przeciwnym razie miała zachodzić - WYNIK DZIAŁANIE LICZBA

Tyle teorii. Niestety w praktyce aplikacja nie działa :\ Co zrobiłem nie tak?

C/C++
#include <iostream>
#include <conio.h>

using namespace std;

int main()

{
    int zmienna1, zmienna2, wynik;
   
    cout << "*******************************" << endl;
    cout << "***Kalkulator v1.1 by Totalq***" << endl;
    cout << "*******************************" << endl;
    cout << "******All rights reserved******" << endl;
    cout << "*******************************" << endl << endl << endl;
   
    do
    {
       
        wynik = 0;
        cout << "Wynik: " << wynik << endl << endl;
       
        cout << "Wybierz dzialanie: " << endl;
        cout << "[1] Dodawanie" << endl;
        cout << "[2] Odejmowanie" << endl;
        cout << "[3] Mnożenie" << endl;
        cout << "[4] Dzielenie" << endl;
        cout << "[INNA] Wyjscie" << endl << endl;
       
        cin >> zmienna2;
       
        cout << "Wprowadz liczbe: ";
        cin >> zmienna1;
        cout << endl << endl;
       
        switch( zmienna2 )
       
        {
        case 1:
            wynik = wynik + zmienna1;
            break;
           
        case 2:
            wynik = wynik - zmienna1;
            break;
           
        case 3:
            wynik = wynik * zmienna1;
            break;
           
        case 4:
            wynik = wynik / zmienna1;
            break;
           
        default:
            zmienna1 == 0;
            break;
           
        }
    } while( zmienna1 != 0 );
   
    cout << endl << "Koniec" << endl;
    getch();
    return 0;
}
P-66089
poldek
» 2012-10-04 23:31:56
Edit
Ok, ok blednie to zinterpretowalem.
P-66090
DejaVu
» 2012-10-04 23:48:19
C/C++
wynik = wynik + zmienna1;
WTF ? Co to ma robic ?
O co Ci chodzi...? Przecież to jest normalny i poprawny zapis zwiększania wartości zmiennej.
P-66092
Totalq
Temat założony przez niniejszego użytkownika
» 2012-10-05 00:03:54
,,Wybierasz tylko zmienna2 odpowiedzialna za wybranie dzialanie i zmienna1 jako liczba do tego dzialania ... Zapomniales o drugiej zmiennej jako liczby do dzialania"

I tu właśnie jest setno problemu. Ja nie chce wybierać drugiej zmiennej. Chce, aby drugą zmienną był "wynik", czyli liczby mają być do wyniku dodawane, odejmowane, mnożone etc.

Jako, że mnożenie przez zero i zero jako dzielna da ostetcznie zero, zmodyfikuje fragment kodu (na początku pentli):

C/C++
do
{
   
    wynik = 333;
    cout << "Wynik: " << wynik << endl << endl;
   
    cout << "Wybierz dzialanie: " << endl;
   
    ...
Reszta kodu pozostaje taka sama.

Krótko mówiąc, chce aby wszelkie działania były podejmowane na zmiennej "wynik".
Niby proste, a program po komplikacji działa wadliwie.
Nie wiem gdzie tkwi problem. Być, może znacznie odbiega to od pojęcia typowego kalkulatora, ale przecież tego typu operacja nie jest czymś dziwnym.
P-66093
DejaVu
» 2012-10-05 00:24:04
Przenieś wiersz
wynik = 0;
 przed pętlę do... while. Obecnie przy każdym nawrocie pętli przywracasz tej zmiennej wartość 0, dlatego nie działa Ci ten kalkulator.
P-66095
« 1 »
  Strona 1 z 1