C++ Anfänger Schulaufgabe
-
Hallo Leute

ich bin noch ziemlich neu in C++ und habe eine Schulaufgabe, die mir Probleme bereitet.
Ich hoffe, dass ihr mir hier weiter helfen könnt.
.Die Aufgabenstellung lautet:
(Addbruch.cpp)
Der Computer soll zwei Brüche addieren, die in Form von Zähler und Nenner eingegeben werden.
Die Summe soll gekürzt ausgegeben werden.
Schreiben Sie das Programm unter Verwendung der Funktionen
int kuerze(zahl,zaehler,nenner) und int ggT(. . .)
(ggT = größter gemeinsamer Teiler).Die Ausgaben sollen in etwa so aussehen:
Addition zweier Brueche
Geben Sie den Zaehler des 1. Bruchs ein: (Bsp:4)
Geben Sie den Nenner des 1. Bruchs ein: (Bsp: 6)
Geben Sie den Zaehler des 2. Bruchs ein: (Bsp:2)
Geben Sie den Nenner des 2. Bruchs ein: (Bsp:3)
ggT ist: 6
ggt ist: 6
Ergebnis: 4 / 3Mein Quellcode sieht bislang wie folgt aus:
include <iostream> include <conio.h> using namespace std; void kuerze(int zaehler=0,int nenner=0, int zahl=0); int main () { int z1,z2,n1,n2,ggT,ergebnis,zahl,zaehler,nenner; cout<<"Geben Sie den Zaehler des 1. Bruchs ein: "<<endl; cin>>z1; cout<<endl; cout<<"Geben Sie den Nenner des 1. Bruchs ein: "<<endl; cin>>n1; cout<<endl; kuerze(zaehler,nenner); cout<<"Geben Sie den Zaehler des 2. Bruchs ein: "<<endl; cin>>z2; cout<<endl; cout<<"Geben Sie den Nenner des 2. Bruchs ein: "<<endl; cin>>n2; kuerze(zaehler,nenner); cout<<endl; cout<<endl; cout<<z1<<"/"<<n1<<endl; cout<<z2<<"/"<<n2<<endl; getch(); return 0; } void kuerze(int zaehler,int nenner, int zahl) { while(nenner != 0) { zahl=zaehler%nenner; zaehler=nenner; nenner=zahl; } cout<<"ggT ist: "<<zaehler<<endl; }Da der Quellcode nicht so will, wie ich habe ich vieles noch nicht gemacht z.B die Addition der Brüche oder die Funktion "int ggT(...)" und manche Ausgaben.
Über etwas Hilfe würde ich mich sehr freuen und ich bedanke mich schonmal im Voraus

MfG Furkos

PS: Themen wie Pointer etc. hatten wir noch nicht und ich lerne erst seit 4 Monaten C++ in der Schule :/.
-
Was funktioniert denn nicht?
So direkt fallen auf:
-Schreibfehler bei den includes
-Variablen zaehler und nenner werden uninitialisiert benutzt
-Andererseits hast du aber lauter andere Variablen definiert, die du gar nicht benutztAnscheinend hast du Probleme, den Überblick über deine Variablen zu behalten. Ratschläge dagegen:
-Keine kryptischen Kürzel!
-Definiere Variablen so lokal wie möglich und erst direkt vor Benutzung. C++ ist nicht C, man braucht nicht alle Variablen direkt am Anfang eines Gültigkeitsbereichs zu definieren, man kann dies direkt im Code bei Bedarf tun. Und selbst in C braucht man das seit Jahrzehnten nicht mehr so zu handhaben.Allgemeine Ratschläge:
-Aktiviere Compilerwarnungen! Stelle die höchste Warnstufe ein. Behandle Warnungen wie Fehler.
-Wenn du deinen Code konsistent einrückst (und mit konsistenter Einrückung meine ich nicht, dass du ihn konsistent gar nicht einrückst
), dann ist er viel lesbarer und du findest viele mögliche Fehler ganz von alleine. Viele für Programmierung optimierte Editoren erledigen dies automatisch für dich. Wenn dein Editor nicht auf Programmierung ausgelegt ist, dann solltest du dir besseres Werkzeug beschaffen.
-Ein paar Leerzeichen helfen ebenfalls Wunder.Weitere wahrscheinliche Fehler in deinem Programm:
-Die Benutzung des Parameters zahl in kuerze. Man kann auch Variablen in Funktionen haben, ohne dass sie Parameter der Funktion sind.
-Dir ist schon klar, dass die Funktion kuerze nichts zurück gibt? Und auch nicht wirklich etwas kürzt, sondern den ggT ausrechnet?