Hi
ich habe das Beispiel aus dem Buch, wo man zum erstenmal die Programme in verschiedene Parts splittet in einer abgewandelten Form nachporgrammiert. Nun geben mir die Funktionen aber nicht den richtigen Rückgabewert.
Hab so dies und das Probiert, es klappt aber nicht.
Hier ist mein Code:
main.cpp:
|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
#include <iostream>
#include "character.hpp"
using namespace std;
int main() {
int nStaerke;
float fGeschw;
int nProzent;
cout << "Geben sie die aktuelle Staerke ein: ";
cin >> nStaerke;
cout << endl;
cout << "Geben sie die aktuelle Geschwindigkeit ein: ";
cin >> fGeschw;
cout << endl;
cout << "Geben sie den Prozentsatz des Wachstums ein (Ganzzahl): ";
cin >> nProzent;
cout << endl;
cout << "Characterwerte:" << endl;
cout << "Staerke: " << addProzent(nStaerke, nProzent) << endl;
cout << "Geschwindigtkeit: " << addProzent(fGeschw, nProzent) << endl;
cin.sync();
cin.get();
return 0;
}
|
character.hpp:
|
C-/C++-Quelltext
|
1
2
|
int addProzent(int nWert, int nProzent);
float addProzent(float fWert, int Prozent);
|
character.cpp:
|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
8
9
|
#include "character.hpp"
int addProzent(int nWert, int nProzent) {
return (static_cast<int>(nWert * (1 + (nProzent /100))));
}
float addProzent(float fWert, int nProzent) {
return (fWert * (1 + (nProzent /100)));
}
|
Die Ausgabe ist bei der Eingabe von:
Staerke: 100
Geschw. : 100
Prozentsatz: 5
bei beiden trotzdem 100.
Wie kommt das?
Ich hoffe ihr könnt mir helfen.
MFG
Fab