C++ dodawanie 2 wyników z dwóch funkcji

0

Witam, jestem początkujący w c++.
Mam dwie funkcje Add i Divide i chcę obliczyć ich sumę. Na razie robię łopatologicznie i się uczę więc proszę o wyrozumiałość

#include <iostream>

int Add (int pierwsza, int druga)
{
    using namespace std;
    cout <<"Funkcja Add() otrzyma\210a: "<<pierwsza << " oraz " << druga <<"\n";
    return (pierwsza + druga);
}
float Divide (float pierwsza, float druga, float trzecia)
{
   using namespace std;
   cout<<"Funkcja Divide() otrzyma\210a: "<<pierwsza<<" oraz "<<druga<<" oraz "<<trzecia<<endl;
   return (pierwsza / (druga / trzecia)*5);

}
float Sumade (float d, float e)
{
   using namespace std;
   return (d + e);
}
int main()
{
    using namespace std;
    cout<<"Jestem w funkcji main()!\n";
    float a, b, c, d, e, f;
    cout<<"Wpisz 3 liczby: "<<endl;
    cout<<"a=";
    cin>>a;
    cout<<"b=";
    cin>>b;
    cout<<"c=";
    cin>>c;

    cout<<"\nWywo\210aj funkcj\251 Add()\n";
    d=Add(a,b);
    cout<<"Ponownie w funcji main().\n";
    cout<< "d zosta\210o ustawione na: "<<d;

    cout<<"\n\nWywo\210aj funkcjê Divide\n";
    e=Divide(a,b,c);
    cout<<"Ponownie w funkcji main()\n";
    cout<<"e zosta\210o ustawione na: "<<e;

    cout<<"\n\nWywo\210aj funkcjê Sumade\n";
    f=Sumade(d,e)
    cout<<"f zosta\210o ustawione na: "<<f;

    cout<<"\n\nOpuszczam program...\n\n";
    return 0;
}
 
0

No więc otrzymuję wyniki z funkcji Add i Divide i następnie chcę żeby od razu obliczyło sumę tych wyników w funkcji Sumade. Nie wiem jak to zrobić, bo tak jak ja to zrobiłem to intuicyjnie nie powinno działać i rzeczywiście nie działa.

0

to Ci sie przeciez nawet nie kompiluje.

1

Przecież brakuje tylko średnika po wywołaniu Sumade(d,e). No i warto zmienić typy parametrów i zwróconej wartości w Add na float.
http://ideone.com/S0np6q

0
  1. <font size="4" color="red">using namespace std w tych wszystkich funkcjach jest gorzej niż zbędne</span>.
  2. <font color="red">Nie mieszaj logiki z prezentacją</span>!
  3. <font color="black">Daruj sobie</span> jakieś znaczki pokroju /210.
0

Jeżeli usunę using namespace std to przecież nie będą mi działały te funkcje. Odnośnie znaków: czy to źle, że staram się stosować polskie litery?

2

Więc powiedz mi jakie korzyści odnosisz z tego nazistowskiego wszędobylskiego używania standardowej przestrzeni nazw w tej funkcji? ->

float Sumade (float d, float e)
{
   using namespace std;
   return (d + e);
}
1
spartanPAGE napisał(a):

Więc powiedz mi jakie korzyści odnosisz z tego nazistowskiego wszędobylskiego używania standardowej przestrzeni nazw w tej funkcji?

tak mi sie skojarzylo z http://en.wikipedia.org/wiki/Cargo_cult_programming

do autora postu - przeczytaj sobie jakis tutorial do c++

0

W tej funkcji żadne, ale jeżeli używam chociażby cout, endl itd. i jeżeli nie używam std:: to muszę napisać using namespace std;.

Jeżeli popełniam jakiś błąd to po prostu jeszcze o nim nie wiem :)

1

Do snippetów możesz globalnie używać danej przestrzeni nazw*

#include <iostream>

void foo(){
	std::cout << __func__ << std::endl;
}

using namespace std;

void bar(){
	cout << __func__ << endl;
}

void foobar(){
	cout << endl;
	foo();
	bar();
}

int main() {
	foobar();
	return 0;
}

Właściwie, to w ogóle nie bój się ich używać w plikach *.cpp

0

Po prostu w książce nie było napisane, że można globalnie. Dobra dzięki!

0

Poznaj język C++ w 21 dni! Jesse Liberty, Siddhartha Rao, Bradley L. Jones (Wydanie II)

1 użytkowników online, w tym zalogowanych: 0, gości: 1