Pokaż wyniki 1 do 5 z 5

Temat: Potrzebuje pomocy z zaawansowanym kalkulatorem

  1. #1
    Zarejestrowany
    May 2014
    Postów
    1

    Domyślnie Potrzebuje pomocy z zaawansowanym kalkulatorem

    Witam!
    Jestem tu nowy i ogólnie nie ogarniam c++ i mało co potrfię napisać. Potrzebuje w miare szybkiej pomocy, zostało mi kilka dni . Muszę zrobic zaawansowany kalkulator. Mam już trochę, ale potrzebuje dorobić do tego co mam może jakieś cos,sin,tg,ctg i logarytmy oraz zapamietywanie wyników, abym mógł je potem użyć do kolejnych obliczeń. No i jeszcze zrobić zamianę z systemu binarnego na szesnastkowy i dziesiętny, albo i więcej. No i by było bardzo fajnie jak by się udalo zrobić to w formie graficznej(najlepiej w allegro w możliwie jak najbardziej prosty sposób), a nie samej tekstowej, ale najpierw bym chciał same poprzednie opcje i dopiero je przerobić na formę graficzną. Bardzo proszę o pomoc, bo to ważne, no i najlepiej w miare prostymi i zrozumiałymi sposobami w dev c++, bo jak już wspominałem jestem słaby w c++ i praktycznie nic tu nie umiem. Jakby ktoś wpadł jeszcze na jakiś łatwy pomysł, aby coś tutaj dodać(bo to musi być trochę wiecej niż jest, w końcu zaawansowany kalkulator), to niech pisze, a jak może to również dołaczy do tego programu.
    Z góry dziękuję za każdą pomoc
    Pozdrawiam!


    #include <iostream>
    #include <conio.h>
    #include <stdio.h>
    #include <math.h>

    using namespace std;
    int dzialanie, powrot;
    double Liczba1, Liczba2, Wynik, decyzja, ilosc;
    int main()
    {
    start:
    cout<< "----------------- KALKULATOR ----------------"<< endl;
    cout<< "| |"<< endl;
    cout<< "| |"<< endl;
    cout<< "| [1] Dodawanie |"<< endl;
    cout<< "| [2] Odejmowanie |"<< endl;
    cout<< "| [3] Mnozenie |"<< endl;
    cout<< "| [4] Dzielenie |"<< endl;
    cout<< "| [5] Jakim procentem jednej liczby |"<< endl;
    cout<< "| jest druga liczba |"<< endl;
    cout<< "| [6] Procent z liczby |"<< endl;
    cout<< "| [7] Pierwiastek N-tego stopnia |"<< endl;
    cout<< "| [8] Srednia artmetyczna |"<< endl;
    cout<< "| [9] Potegowanie |"<< endl;
    cout<< "| |"<< endl;
    cout<< "| [0] Aby zakonczyc dzialanie kalkulatora |"<< endl;
    cout<< "| |"<< endl;
    cout<< "----------------------------------------------"<< endl;
    cout<< "Decyzja: ";
    cin >> dzialanie;
    if (dzialanie<= 6 && dzialanie > 0)
    {
    cout<< "Podaj pierwsza liczbe: ";
    cin >> Liczba1;
    cout<< "Podaj druga liczbe: " ;
    cin >> Liczba2;
    }
    cout<< "\n";
    switch (dzialanie)
    {
    case 1:
    Wynik = Liczba1 + Liczba2;
    break;
    case 2:
    Wynik = Liczba1 - Liczba2;
    break;
    case 3:
    Wynik = Liczba1 * Liczba2;
    break;
    case 4:
    if (Liczba2 == 0)
    {
    cout<< "Nie dzielimy przez zero\n";
    }
    else
    Wynik = Liczba1 / Liczba2;
    break;
    case 5:
    Wynik = Liczba2 / Liczba1 * 100;
    break;
    case 6:
    Wynik = Liczba1 / Liczba2 * 100;
    break;
    case 7:
    cout<< "Wybrano pierwiastek dowolnego stopnia: \n";
    cout<< "Podaj liczbe: ";
    cin >> Liczba1;
    cout<< "Podaj stopien pierwiastka: ";
    cin >> Liczba2;
    double power;
    power = exp(log(Liczba1)/Liczba2);
    Wynik = power;
    break;
    case 8:
    cout<< "Wybrano srednia artmetyczna: \n";
    Liczba1 = 0;
    Wynik = 0;
    ilosc = 0;
    cout<< "Napisz 12345 aby zakonczyc wpisywanie liczb: \n";
    for(;
    {
    cout<< "Podaj liczbe: ";
    cin >> Liczba1;
    if (Liczba1 == 12345) break;
    Wynik += Liczba1;
    ilosc += 1;
    }
    Wynik = Wynik / ilosc;
    break;
    case 9:
    cout<< "Wybrano potegowanie: \n";
    cout<< "Podaj liczbe: ";
    cin >> Liczba1;
    cout<< "Podaj potege: ";
    cin >> Liczba2;
    Wynik = pow(Liczba1, Liczba2);
    break;
    case 0:
    cout<< "\n\nDziekujemy za skorzystanie z kalkulatora. \nKliknij dowolny klawisz aby kontynuowac\n\n\n";
    return 0;
    break;
    default:
    break;
    }
    if (dzialanie == 0 || dzialanie >=10)
    {
    cout<< "\nWcisnieto nieprawidlowy klawisz"<< endl;
    return 0;
    }
    else
    cout<< "\nWynik wynosi: "<< Wynik<< endl;
    cout<< "\n [0] Aby zamknac kalkulator";
    cout<< "\n [1] Aby korzystac dalej z kalkulatora\n";
    cout<< "Decyzja: ";
    cin >> powrot;
    switch (powrot)
    {
    case 1:
    goto start;
    break;
    case 0:
    cout<< "\n\nDziekujemy za skorzystanie z kalkulatora. \nKliknij dowolny klawisz aby kontynuowac\n\n\n";
    return 0;
    break;
    default:
    return 0;
    break;
    }
    }

  2. #2
    Zarejestrowany
    Jan 2009
    Postów
    836

    Domyślnie

    "Jestem tu nowy i ogólnie nie ogarniam c++. Muszę zrobic zaawansowany kalkulator. "

    i ktoś ma zrobić za Ciebie pracę domową ? zgłoś się do mnie jak będziesz miał na to 2k zł.

  3. #3
    Zarejestrowany
    Nov 2006
    Skąd
    Polska/Poland
    Postów
    1,191

    Domyślnie

    Albo RE na kalkulatorze od windows
    ***********
    * markossx *
    ***********

  4. #4
    jegor377 jest offline znam c++, batch
    Zarejestrowany
    Aug 2014
    Postów
    12

  5. #5
    Zarejestrowany
    Oct 2008
    Skąd
    woj. Lubuskie. Dokładniej się nie da
    Postów
    405

    Domyślnie

    Nie wiem co w tym zaawansowanego. Swoją drogą, myślałam że programowanie liniowe umarło wraz z językiem basic. Okazało się, że można pisać nawet bez podziału na funkcje w przypadku języka wspierającego obiektowość. Piszesz, że cienko u Ciebie z c++. Można temu zaradzić - chociażby poprzez proste ćwiczenie polegające na komplikacji problemu. Jako zadanie domowe stwórz funkcję do każdego obliczenia osobną.
    Kolejną modyfikacją powinno być usunięcie goto. Chociażby umieszczeniu całego kodu w pętli while(true), z której wychodzimy, jeżeli użytkownik nie zadecyduje o wykonaniu kolejnego obliczenia. Następną niech będzie na przykład znalezienie sposobu na to, by menu tworzyło się dynamicznie. (Chociażby zastosowanie gdzie każde działanie jest obiektem, który ma funkcję oblicz i wypisz_menu, gdzie menu byłoby wypisaniem po kolei z tablicy tych obiektów poprzez wywołanie na nich funkcji - przećwiczysz przy okazji dziedziczenie). Myślę, że za tak przerobiony kalkulator prowadzący da ci 5 z zajęć na koniec
    Jeśli nie będziesz mieć pod górke, nigdy nie dojdziesz na szczyt.

Zasady Postowania

  • Nie możesz zakładać nowych tematów
  • Nie możesz pisać wiadomości
  • Nie możesz dodawać załączników
  • Nie możesz edytować swoich postów
  •  
Subskrybuj