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

Lekcja 2.17

Ostatnio zmodyfikowano 2016-07-21 19:03
Autor Wiadomość
CCbolt
Temat założony przez niniejszego użytkownika
Lekcja 2.17
» 2016-07-19 17:06:07
Znów topornie mi idzie, za namową kolegi z forum rozbijam wszystko na bloki, kod jest niekompletny ale nie umiem ominąc problemu z Liczbą nr 1, pewnie nr 2 ma to samo czyli przeładowanie operatora.





C/C++
#include <iostream>
using namespace std;

void moje_menu()
{
    cout << "================================Kalkulator=================================" << endl;
    cout << "[1] Dodawanie \n[2] Odejmowanie \n[3] Mnozenie \n[4] Dzielenie\n[5] Koniec \n";
}


float liczba_1()
{
    float liczba_1();
    bool sprawdzenieLiczby;
    cin >> liczba_1;
    sprawdzenieLiczby = cin.good();
    if( sprawdzenieLiczby == false )
    do
    { cin.clear();
        if( isalpha( cin.get() ) )
        {
            cout << "Litery to nie liczby" << endl;
        }
        else
        {
            cout << "Podales cos jeszcze innego niz litery" << endl;
        }
       
        cout << "Podaj ponownie liczbe : ";
        cin >> liczba_1;
        sprawdzenieLiczby = cin.good();
    } while( sprawdzenieLiczby == false );
   
    return liczba_1();
}



float liczba_2()
{
    float liczba_2;
    bool sprawdzenieLiczby;
    cin >> liczba_2;
    sprawdzenieLiczby = cin.good();
    if( sprawdzenieLiczby == false )
    do
    { cin.clear();
        if( isalpha( cin.get() ) )
        {
            cout << "Litery to nie liczby" << endl;
        }
        else
        {
            cout << "Podales cos jeszcze innego niz litery" << endl;
        }
       
        cout << "Podaj ponownie liczbe : ";
        cin >> liczba_2;
        sprawdzenieLiczby = cin.good();
    } while( sprawdzenieLiczby == false );
   
    return liczba_2;
}


int dodawanie()
{
    cout << "Wynik: " << liczba_1() + Liczba_2() << endl;
}
int odejmowanie()
{
    cout "Wynik: " << liczba_1() + Liczba_2() << endl;
}
int mnozenie()
{
    cout "Wynik: " << liczba_1() * liczba_2 << endl;
}
int dzielenie()
{
    cout << "Wynik: " << liczba_1() / liczba_2() << end;
}

int main()
P-150118
pekfos
» 2016-07-19 17:08:17
C/C++
float liczba_1();
//..
return liczba_1();
Po co te nawiasy?
P-150119
CCbolt
Temat założony przez niniejszego użytkownika
» 2016-07-19 17:14:39
Jak to po co? Nazwa funkcji bez argumentów, nigdzie nie widziałem aby ich nie stosowano.
Dobra mam, złapałem, znalazł się chochoł.Dzięki
// Kolejny problem Przy tej samej liczbie. C:\Users\Panas\Desktop\test.cpp|14|error: expected initializer before 'float'|
(Funkcje dają mi po pysku)
P-150121
pekfos
» 2016-07-19 17:51:05
Podaj aktualny kod i zaznacz miejsce błędu.
P-150122
CCbolt
Temat założony przez niniejszego użytkownika
» 2016-07-19 18:00:02
13 linia |13|error: expected initializer before 'float'|
C/C++
#include <iostream>
using namespace std;

void moje_menu()
{
    cout << "================================Kalkulator=================================" << endl;
    cout << "[1] Dodawanie \n[2] Odejmowanie \n[3] Mnozenie \n[4] Dzielenie\n[5] Koniec \n";
}

int opcja_switch()


float liczba_1() //|13|error: expected initializer before 'float'|
{
    float liczba_1;
    bool sprawdzenieLiczby;
    cin >> liczba_1;
    sprawdzenieLiczby = cin.good();
    if( sprawdzenieLiczby == false )
    do
    { cin.clear();
        if( isalpha( cin.get() ) )
        {
            cout << "Litery to nie liczby" << endl;
        }
        else
        {
            cout << "Podales cos jeszcze innego niz litery" << endl;
        }
       
        cout << "Podaj ponownie liczbe : ";
        cin >> liczba_1;
        sprawdzenieLiczby = cin.good();
    } while( sprawdzenieLiczby == false );
   
    return liczba_1;
}


float liczba_2()
{
    float liczba_2;
    bool sprawdzenieLiczby;
    cin >> liczba_2;
    sprawdzenieLiczby = cin.good();
    if( sprawdzenieLiczby == false )
    do
    { cin.clear();
        if( isalpha( cin.get() ) )
        {
            cout << "Litery to nie liczby" << endl;
        }
        else
        {
            cout << "Podales cos jeszcze innego niz litery" << endl;
        }
       
        cout << "Podaj ponownie liczbe : ";
        cin >> liczba_2;
        sprawdzenieLiczby = cin.good();
    } while( sprawdzenieLiczby == false );
   
    return liczba_2;
}


int dodawanie()
{
    cout << "Wynik: " << liczba_1() + Liczba_2() << endl;
}
int odejmowanie()
{
    cout "Wynik: " << liczba_1() + Liczba_2() << endl;
}
int mnozenie()
{
    cout "Wynik: " << liczba_1() * liczba_2 << endl;
}
int dzielenie()
{
    cout << "Wynik: " << liczba_1() / liczba_2() << end;
}

int main()

{
   
}
P-150123
carlosmay
» 2016-07-19 19:10:44
int opcja_switch()
Ani to deklaracja funkcji, ani definicja zmiennej.
P-150126
Szymon2727
» 2016-07-19 20:08:42
CCBolt z całym szacunkiem, ale to nie jest plik hpp gdzie możesz sobie po prostu zdefiniować int opcja_switch() i sobie to tak zostawić. A co do już samego kodu to wysyłaj go bez kontroli błędów, a nawet powinieneś go tak napisać - działa, ok, teraz zadbaj o bezpieczeństwo, ale tak jest utrudniona czytelność, a to i tak nie działa. Może to głupie czepianie się, ale sprawdzanie kodu krok po kroku dużo daje :P
P-150132
CCbolt
Temat założony przez niniejszego użytkownika
» 2016-07-19 20:16:32
Na samym początku napisałem że kod nie jest kompletny, przeleciałem po forum jak ludzie rozwiązywali zadanie i staram się to napisać bez zaglądania z powrotem do jednego z postów @carlosmay.
Pierwsze mi wysooczył problem z przeładowaniem operatora jak zauważyl to kolega @pekfos "()" machnąłem z rozpędu i nawet tego nie zauważyłem, myślałem że też dalej coś źle napisałem i dlatego błąd wyskakuje zanim powstanie główna funkcja.
P-150133
« 1 » 2 3
  Strona 1 z 3 Następna strona