Divisor/Divident < C/C++ < Programmiersprachen < Praxis < Informatik < Vorhilfe
|
Aufgabe | [Dateianhang nicht öffentlich] |
Ich habe ganz strikt mal das Problem mit der einfachen (unkorrekten) Methode abgearbeitet.
Da fehlt mir allerdings der Einschub von "bool".
1: |
| 2: | # include <iostream>
| 3: | using namespace std;
| 4: |
| 5: | void Division(int divisor, int dividend, int* ergebnis, int* rest) {
| 6: |
| 7: | ergebnis=0;
| 8: | if (dividend==0){
| 9: | cout << "Fehler" << "\n";}
| 10: | else {
| 11: | for (; divisor >= dividend; divisor=divisor-dividend){
| 12: | ergebnis=ergebnis+1;
| 13: | }}
| 14: | *rest=divisor;
| 15: | }
| 16: | int main(){
| 17: | Division(divisor,dividend);
| 18: | cout << "Geben Sie den Zaehler an: " << "\n";
| 19: | cin >> divisor;
| 20: | cout << "Geben Sie den Nenner an: " << "\n";
| 21: | cin >> dividend;
| 22: | return 0;
| 23: | }
|
Sollte ja schon in der void-Funktion sein.
Hoffe, dass das soweit reicht um mir etwas zu helfen.
Dateianhänge: Anhang Nr. 1 (Typ: jpg) [nicht öffentlich]
|
|
|
|
Hallo,
da deine Funktion einen bool-Wert zurückgeben soll, must du sie auch als bool deklarieren und in dem Fall (divisor==0), nicht (dividend==0), ein false zurückgeben.
Ich weiß nicht, ob die Funktion auch negative Werte verarbeiten können muss, aber falls ja, dann solltest du deine Funktion noch überdenken.
Du behandelst ergebnis in deiner Funktion wie einen int-Wert, dabei ist es doh ein Zeiger. Pass da besser auf!
Ach ja: In der Aufgabenstellung steht doch bereits, wie die Funktion aufgerufen wird. Warum machst du das dann nicht so?
Gruß
Martin
|
|
|
|