Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Code funktioniert nicht!

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: [ 1 ] > 2 <
010
22.10.2006, 21:10 Uhr
Spacelord
Hoffnungsloser Fall



Zitat von Pablo:
...und eine Funktion int _tmain(int argc, _TCHAR* argv[]) existiert im ANSI C nicht!


Beim VS auch nicht.....aber nen Präprozessor gibts da.


Zitat von Pablo:

@Totaler_Anfänger: Vergiss den Code von xXx.

Gut,dann lass deine Lösung sehen,sonst steht TotalerAnfänger ja wieder ohne alles da.

Du tauchst hier alle Jubeljahre mal auf,faselst was von der Form wie main auszusehen hat und verpißt dich dann wieder....
--
.....Ich mach jetzt nämlich mein Jodeldiplom.Dann hab ich endlich was Eigenes.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
011
23.10.2006, 08:15 Uhr
ao

(Operator)



Zitat von xXx:
Machs am besten mit ner struct oda so.... hab mal kurz was zusammen geschrieben .. ist aber ungetestet obs richtig ist ...

So, dann vielleicht mal wieder zur Sache zurück.

Ich habs auch nicht getestet, aber es sieht richtig aus. Der Ansatz, Zähler und Nenner zu einem Struct oder einer Klasse zusammenzufassen ist auf jeden Fall schon mal gut, und soweit ich sehe, rechnet die Summenfunktion auch richtig.

Die Addierfunktion hätte ich aber so gebaut:

C++:
FRACTION Add (const FRACTION & f1, const FRACTION & f2);

Das mit den Pointer-Argumenten würde ich weglassen; so eine Rechenfunktion ist eben nur für intakte Fraction-Objekte definiert und nicht für irgendwas, was auch NULL sein kann.

Gültigkeitsprüfungen (Nenner != 0 und so) würde ich eher da unterbringen, wo neue Fraction-Objekte entstehen, also im Konstruktor, Zuweisungsoperator und so.

Zur Rückgabe: FRACTION ist ein kleines, einfaches Objekt, das kann man ruhig mit copy-by-value zurückgeben. Und, eine Summenfunktion hat immer ein gültiges Ergebnis (*), also braucht man den Fall, dass man nichts zum Zurückgeben hat, nicht zu berücksichtigen.

Wer aber dogmatisch meint, Funktionen, die Objekte zurückgeben, sind böse, kann es auch so schreiben:

C++:
void Add (const FRACTION & f1, const FRACTION & f2, FRACTION & result);


(*) vorausgesetzt die Eingaben sind gültig, aber wenn sie das nicht wären, würde man das schon bei der Konstruktion der Argumente merken.

Grundsätzlich: Eine Bruchklasse ist eine beliebte Übungsaufgabe zum Thema Methodendesign, weil man hier gut untersuchen kann, wie sich verschiedene Design-Entscheidungen auf die Benutzbarkeit der Klasse im Anwendungskontext auswirken. Man kann also viel dabei lernen, wenn man ein bisschen mit den verschiedenen Varianten herumspielt. Dabei ist die Implementierung der einzelnen Funktionen meist einfach, so dass man sich weitgehend aufs Interface konzentrieren kann.

Soweit erstmal mein Senf

ao

Dieser Post wurde am 23.10.2006 um 08:17 Uhr von ao editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: [ 1 ] > 2 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: