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

Funkcje w kalkulatorze

Ostatnio zmodyfikowano 2013-12-05 21:19
Autor Wiadomość
najkosz
Temat założony przez niniejszego użytkownika
Podziękowania
» 2013-12-04 18:31:41
Dziękuję wszystkim którzy mi pomogli. Może śmiesznie to zabrzmi, ale program jest jeszcze nieukończony. Oto kod na teraz:
C/C++
#include <iostream>
using namespace std;
void kalkulator();
void twoj_wybor()
{
    cout << "Twoj wybor to: ";
}
void wybor()
{
    cout << "Wybierz funkcjonalnosc mojego programu:" << endl;
    //cout<<"1.Przelicznik"<<endl;
    cout << "2.Kalkulator" << endl;
    //cout<<"3.Kalkulator z przelicznikiem"<<endl;
    double x;
    //if (x==1)
    //{
    //
    //}
    twoj_wybor();
    cin >> x;
    while( x > 3 )
    {
        cout << "Twoj wybor nie jest zadeklarowany" << endl;
        twoj_wybor();
        cin >> x;
    }
    if( x == 2 )
    {
        kalkulator();
    }
    //if(x==3)
    //{
    //
    //}
}
void dodawanie()
{
    double a, b;
    cout << "Wprowadz 1.liczbe:";
    cin >> a;
    cout << "Wprowadz 2.liczbe:";
    cin >> b;
    cout << a << "+" << b << "=" << a + b << endl;;
}
void odejmowanie()
{
    double a, b;
    cout << "Wprowadz 1.liczbe:";
    cin >> a;
    cout << "Wprowadz 2.liczbe:";
    cin >> b;
    cout << a << "-" << b << "=" << a - b << endl;
}
void mnozenie()
{
    double a, b;
    cout << "Wprowadz 1.liczbe:";
    cin >> a;
    cout << "Wprowadz 2.liczbe:";
    cin >> b;
    cout << a << "*" << b << "=" << a * b << endl;
}
void dzielenie()
{
    double a, b;
    cout << "Wprowadz 1.liczbe:";
    cin >> a;
    cout << "Wprowadz 2.liczbe:";
    cin >> b;
    cout << a << "/" << b << "=" << a / b << endl;
}
void modulo()
{
    int a, b;
    cout << "Tylko liczby całkowite";
    cout << "Wprowadz 1.liczbe:";
    cin >> a;
    cout << "Wprowadz 2.liczbe:" << endl;
    cin >> b;
    cout << a << "/" << b << "=" << a / b << " reszta " << a % b << endl;
}
void kalkulator()
{
    int y;
    cout << "Wybierz dzialanie" << endl;
    cout << "1.Dodawanie" << endl;
    cout << "2.Odejmowanie" << endl;
    cout << "3.Mnozenie" << endl;
    cout << "4.Dzielenie" << endl;
    cout << "5.Modulo (reszta z dzielenia)" << endl;
    twoj_wybor();
    cin >> y;
    if( y == 1 )
    {
        dodawanie();
    }
    if( y == 2 )
    {
        odejmowanie();
    }
    if( y == 3 )
    {
        mnozenie();
    }
    if( y == 4 )
    {
        dzielenie();
    }
    if( y == 5 )
    {
        modulo();
    }
}
int main()
{
    wybor();
    return 0;
}
I jeszcze jedno @SeaMonster131: skąd tam w tym twoim przykładowym kodzie na początku wzięło się wywołanie niezdefiniowanego jeszcze kalkulatora ()? Mógłbyś mi wytłumaczyć jak to się dzieje, że to kompiluje się bez błędów?
P-98331
R3V0
» 2013-12-04 20:49:10
pisząc na początku programu
void kalkulator();
, oznajmiasz kompilatorowi, że coś takiego jak funkcja 'kalkulator' będzie miała miejsce w Twoim programie(deklarujesz ją). później(niżej) możesz napisać jej definicję. kompilator "widzi" zadeklarowaną funkcję i nie zwraca błędu, niezależnie gdzie jest zdefiniowana. ja definiuje je za "main'em", bo jest mi wygodniej.
P-98353
najkosz
Temat założony przez niniejszego użytkownika
Kolejny problem
» 2013-12-05 16:01:32
Mam nowy problem. Chcę zrobić kolejną fukcję z pętlą while, ale nie wiem gdzie umiescić jej deklarację. Oto kod:
C/C++
#include <iostream>
using namespace std;
void kalkulator();
void twoj_wybor()
{
    cout << "Twoj wybor to: ";
}
void wybor()
{
    cout << "Wybierz funkcjonalnosc mojego programu:" << endl;
    //cout<<"1.Przelicznik"<<endl;
    cout << "2.Kalkulator" << endl;
    //cout<<"3.Kalkulator z przelicznikiem"<<endl;
    double x;
    //if (x==1)
    //{
    //
    //}
    twoj_wybor();
    cin >> x;
    while( x >= 3 )
    {
        cout << "Twoj wybor nie jest zadeklarowany" << endl;
        twoj_wybor();
        cin >> x;
    }
    if( x == 2 )
    {
        kalkulator();
    }
    //if(x==3)
    //{
    //
    //}
}
void dodawanie()
{
    double a, b;
    cout << "Wprowadz 1.liczbe:";
    cin >> a;
    cout << "Wprowadz 2.liczbe:";
    cin >> b;
    cout << a << "+" << b << "=" << a + b << endl;;
}
void odejmowanie()
{
    double a, b;
    cout << "Wprowadz 1.liczbe:";
    cin >> a;
    cout << "Wprowadz 2.liczbe:";
    cin >> b;
    cout << a << "-" << b << "=" << a - b << endl;
}
void mnozenie()
{
    double a, b;
    cout << "Wprowadz 1.liczbe:";
    cin >> a;
    cout << "Wprowadz 2.liczbe:";
    cin >> b;
    cout << a << "*" << b << "=" << a * b << endl;
}
void dzielenie()
{
    double a, b;
    cout << "Wprowadz 1.liczbe:";
    cin >> a;
    cout << "Wprowadz 2.liczbe:";
    cin >> b;
    cout << a << "/" << b << "=" << a / b << endl;
}
void modulo()
{
    int a, b;
    cout << "Tylko liczby calkowite" << endl;
    cout << "Wprowadz 1.liczbe:";
    cin >> a;
    cout << "Wprowadz 2.liczbe:" << endl;
    cin >> b;
    cout << a << "/" << b << "=" << a / b << " reszta " << a % b << endl;
}
void kalkulator()
{
    int y;
    cout << "Wybierz dzialanie" << endl;
    cout << "1.Dodawanie" << endl;
    cout << "2.Odejmowanie" << endl;
    cout << "3.Mnozenie" << endl;
    cout << "4.Dzielenie" << endl;
    cout << "5.Modulo (reszta z dzielenia)" << endl;
    twoj_wybor();
    cin >> y;
    if( y == 1 )
    {
        dodawanie();
    }
    if( y == 2 )
    {
        odejmowanie();
    }
    if( y == 3 )
    {
        mnozenie();
    }
    if( y == 4 )
    {
        dzielenie();
    }
    if( y == 5 )
    {
        modulo();
    }
}
int main()
{
    wybor();
    kontynuacja();
    return 0;
}
void kontynuacja()
{
    int x;
    cout << "Aby kontynuowac nacisnij 1. Aby zakonczyc nacisnij 2." << endl;
    cin >> x;
    while( x == 1 )
    {
        main();
    }
}
A tu log kompilacji:

C:\Documents and Settings\Piotr\Moje dokumenty\Kalkulator mega kod.cpp In function 'int main()':
117 13 C:\Documents and Settings\Piotr\Moje dokumenty\Kalkulator mega kod.cpp [Error] 'kontynuacja' was not declared in this scope
Proszę o pilną pomoc!!!
P-98415
Monika90
» 2013-12-05 16:05:17
Musisz umieścić definicję funkcji kontynuacja, albo tylko deklarację przed main. Z tym że ta funkcja jest błędna, ponieważ w nie wolno wywoływać funkcji main.
P-98417
najkosz
Temat założony przez niniejszego użytkownika
» 2013-12-05 16:09:08
@Monika90: dziękuję. Więc w tym przypadku mam wywołać funkcję wybor()???
P-98419
Monika90
» 2013-12-05 16:31:15
C/C++
void kontynuacja()
{
    int x = 1;
    while( cin && x == 1 )
    {
        wybor();
        cout << "Aby kontynuowac nacisnij 1. Aby zakonczyc nacisnij 2." << endl;
        cin >> x;
    }
}
Tak chyba będzie dobrze.
P-98422
tarno
» 2013-12-05 18:37:05
Czemu nie zrobisz go case'm?? tylko tyle ifow walisz?
P-98450
najkosz
Temat założony przez niniejszego użytkownika
» 2013-12-05 21:19:51
@tarno: przelicz ilość znaków przy tej same komendzie w if oraz za pomocą stwich. Poza tym zawsze zapominam o break, a w if się nie pomylę. Jednak mógłbym to tak zrobić :P
P-98478
1 « 2 »
Poprzednia strona Strona 2 z 2