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

Problem z argumentami funkcji.

Ostatnio zmodyfikowano 2014-11-22 21:46
Autor Wiadomość
Max_150
Temat założony przez niniejszego użytkownika
Problem z argumentami funkcji.
» 2014-11-22 20:43:40
Witam,jak w nazwie tematu,problem z argumentami funkcji.Z ,,argumentami'',bo gdy argument jest jeden,wszystko gra,ale to w oddzielnym programie,gdyz ten obecny wymaga conajmniej dwóch.jest to moja około 10h nauki,wieck wyrozumiałośc będzie przydatna.Rozdzieliłem program na dwa pliki.Main cpp,i nazwa funkcji(mnozenie.h).Poniewaz wlaśnie tego sie teraz uczę.
Problem jest taki,że gdy wysyłam wiecej jak jeden argument,mam bład:

mnozenie.h|8|error: declaration of 'float liczba_1' shadows a parameter|
mnozenie.h|9|error: declaration of 'float liczba_2' shadows a parameter|


Nie znam dobrze angielskiego,ale ,,declaration'' oznacza chyba to,ze liczba nie jest zdeklarowana.A przecież wartośc przybywa z funkcji main.O tu:   <<<<< mnozenie(wynik, liczba_1, liczba_2);   >>>>>
Wie ktos o co biega?




MAIN.CPP
C/C++
#include <iostream>
#include "mnozenie.h"
#include <cstdlib>

using namespace std;

float wynik;
float liczba_1;
float liczba_2;
int menu;
int main()
{
    cout << "Mnozenie-1" << endl;
    cout << "Dzielenie-1" << endl;
    cout << "Dodawanie-1" << endl;
    cout << "Odejmowanie-1" << endl;
    cin >> menu;
   
    if( menu == 1 )
    {
        cout << "Wpisz 1 liczbe:" << endl;
        cin >> liczba_1;
        cout << "Wpisz 2 liczbe:" << endl;
        cin >> liczba_2;
        mnozenie( wynik, liczba_1, liczba_2 );
       
        cout << "Wynik: " << mnozenie( liczba_2 ) << endl;
    }
    return 0;
}

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
mnozenie.h
C/C++
#include <iostream>
#include <cstdlib>

using namespace std;

float mnozenie( float mn, float liczba_1, float liczba_2 )
{
    return mn = liczba_1 * liczba_2;
}







P-121191
Monika90
» 2014-11-22 20:50:12

mnozenie.h|8|error: declaration of 'float liczba_1' shadows a parameter|
mnozenie.h|9|error: declaration of 'float liczba_2' shadows a parameter|
To nie możliwe żeby twój program miał taki błąd. Pokazałeś nam inny program niż kompiluesz.

Kod na forum umieszczaj pomiędzy znacznikami [cpp][/cpp]
P-121192
kisi69
» 2014-11-22 21:02:37
A po kiego ci ten parametr mn wywal to bo nie jest w sumie do niczego potrzebne

Pozatym:
masz takie cos float mnozenie( float mn, float liczba_1, float liczba_2 )
a używasz tak mnozenie( liczba_2 )

polecam zrobić klasę i konstruktory z różną liczbą parametrów.
P-121193
Max_150
Temat założony przez niniejszego użytkownika
» 2014-11-22 21:46:28
Właśnie sie kapłem.CodeBlocs compiluje mi często wczesniej zamkniete pliki.Dopiero po zamknieciu i otwarciu,compilator,compiluje obecny plik.

Problem rozwiązałem zamieniając:

    mnozenie(liczba_2);
na

    mnozenie(wynik, liczba_1, liczba_2);

PS:Nie wiedziałem że do cout<<,nalezy wpisac wszystko,a funkcja return zwraca wynik,i wyswietla go.Myslałem ze w ramach takiego rozumowania należy wpisac tylko
    mnozenie(wynik);(z racji iz to tylko jest zwracane)
a tu sie okazało ze
    mnozenie(wynik, liczba_1, liczba_2);
jest prawidłowe.
P-121198
« 1 »
  Strona 1 z 1