Hife c++ **division** <- Glaub so müsste exs heißen :)

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von nofuture, 21. Juli 2005 .

Schlagworte:
  1. 21. Juli 2005
    so hab hier ein Programm geschrieben
    aber die division klappt noch nicht ....
    is in c++ .
    Kann mir vlt jemand sagen warum nich?
     
  2. 21. Juli 2005
    Ganz einfach, weil c++ kontextsensitiv ist!

    Beim Öffnen des Projektes kam daher bei mir erst mal ne Fehlermeldung!

    Also Header in
    Ändern!

    Dann sollte alle klappen!

    MfG
    Disaronno

    P.s. Sehr konfus deine Tastenbelegung
     
  3. 22. Juli 2005
    und das ändern hat auch nichts gebracht
    er kann immer noch nicht die division ausführen
     
  4. 22. Juli 2005
    warum eigentlich so kompletziert wenns auch einfacher geht?
    also für so nen mini projekt hätte ich doch nicht so viele header .. einfach ne schmucke klasse bauen und freuen ^^
     
  5. 22. Juli 2005
    Hab den Code nur schnell überflogen. Nett das du die Bildschirmsteuerdaten meines Codes benutzt. Allerdings solltest du die Console.cpp nicht in csteuerung.h umbenennen. Es handelt sich nicht um eine Header-Datei!

    Warum die Division nicht funktioniert dürfte auf den ersten Blick auffallen. Deine beiden Variablen Wert1 und Wert2 sind vom Typ integer. Das sind keine Gleitkommazahlen. Deshalb kommt immer Null oder eine andere Ganzzahl raus. Ein expliziter Cast mit (double)Wert1/Wert2 sollte das Problem lösen. Am besten gleich geeignete Variable-Typen wie float oder double verwenden!

    cu
     
  6. 22. Juli 2005
    hab beides gemacht hab hab einen versuch mit float
    und einen mit double gemacht ....
    der springt immer ncoh

    PS: @ Stefan_$ Is doch nich schlimm, dass ich deine
    Steuerungsdaten benutze oder ???


    PSS: Der Compiler mekkert immer wenn ich versuche die
    Als .cpp zu benutzen. Deshalb habich die einfach in ne header
    Datei umgewandelt
     
  7. 22. Juli 2005
    Was heißt "der springt immer ncoh" ? Du schriebst das die Division nicht funktionierte. Bei int Variablen ist dies auch logisch.
    Wenn du mit springen den sofortigen Ablauf deiner Division meinst. Auch das ist logisch. Im Puffer befindet sich nämlich noch ein Rest deiner Ganzzahl Division!
    Dein cin.get() ist somit wirkungslos. Stelle ein cin.sync(); voran und es dürfte funktionieren. Ganz abgesehen davon, das dein Code ziemlich bitter ist. Genau das passiert wenn man versucht anstelle eines Buches sich C++ mit Hilfe von irgendwelchen fremden Codes anzueignen oder nutzlose Online Tutoials a la Volkard durch zu machen. Tu dir einen Gefallen und kauf dir ein gutes C++ Buch. Dies ist keine persönliche Kritik sondern vielmehr ein gut gemeinter Ratschlag. 8)

    Das der Compiler ein Problem hat sobald du die Datei mit .cpp benennst kann ich mir nicht vorstellen. Die Datei ist keine Header Datei.

    cu
     
  8. 22. Juli 2005
    erstmal Danke jetzt funktionierts

    wegen dem Buch naja welches ist denn vernünftig??? Ich hatte überlegt ob ich mit vllt. c++ in 21 R`Tagen kaufen sollte. Aber das ist ja nur darüber wie man mit diesem ms editor umgeht und nicht wirklicj wie man sich das Zeug selberschreibt. Ich hab nämlich das e-book davon gelesen und dsa hat mir nicht so sehr gefallen.

    Und das mein COde bitter ist ist klar denn wie du bereits gesagt hast shab ich alles was ich bisher " programmieren " kann nur aus onlinetutorials gelernt

    Und Kritik kann nie schaden denn nur dadurch kann man herrausfinden wie man sich verbessern kann

    Wenn du mir nen buch emfehlen könntest dann schreib hier mal rein
     
  9. 22. Juli 2005
    abgesehn davon das der Code wirklich nicht sehr gut war, hab ich's dennoch zum alufen gebracht (mit richtigem Ergebnis).

    Bei der Division zweier integer Zahlen ist das Ergebnis wieder eine Integer Zahl, für mich etwas ungewühnlich da ich wie selbstverständlich mit div und mod arbeiten wollte!

    also @nofuture
    ich konnte es fehlerfrei compilieren, musste jedoch, nachdem ich das Projekt geöffnet hatte die Mathe.h (?) aus dem Projekt entfernen und dann neu hinzufügen! Dann hat er alles neu kompiliert, keine Ahnung warum.

    Weiterhin viel Spass bei der Fehlersuche!

    mfG
    Disaronno
     
  10. 22. Juli 2005
    joa danke habs auch zum laufen bekommen
    indem ich die mathe.h neu reingemacht und
    cor dem cin.get() das cin.sync() gesetzt habe
     
  11. 22. Juli 2005
    Hab mir das auch noch mal angeschaut aber muss sagen gewöhn dir einen anderen Programmierstil an. Sonst bekommst du echt ärger in größeren Projekten. Ist nicht böse gemeint nur ein gut gemeinter Rat. Bin selber schon reingeflogen.

    Vorallem vermeide Globale Variablen. Sonst kommst du irgendwann nicht mehr mit der Datenintigrität hinterher.

    Ansosnten passt das schon nur halt ein bissl viele Headers für so ein keines Programm.
     
  12. 23. Juli 2005
    warum passt das dan mit der Itegrität nich mehr wenn ich
    viele Globale variabeln benutze ??
     
  13. 23. Juli 2005
    Weil bei Projekten mit mehreren Seiten Quellcode die Übersicht über die bestehenden globalen Variablen verloren geht! Dies führt dann unweigerlich zu Kollisionen und letztendendes zu bugigen Anwendungen.

    Sobald du die objektorientierte Programmierung erlernst, denn das was du bisher programmiert hast ist prozedural, wirst du mehr über Datenkapselung mit Hilfe von Klassen erfahren. Dies kann man nur mit Hilfe eines guten Buches erlernen. Ich rate dir zu "Die C++ Programmiersprache" vom Erfinder der Sprache C++ (Bjarne Stroustrup) oder mein Favourit "Lernen und professionell anwenden von Peter Prinz", Ulla Kirch-Prinz.

    Beide Bücher richten sich an Profis. Also nichts mit C++ für Dummies oder so. Nach einigen Monaten intensiven Lernens mit diesen Büchern solltest du verstanden haben worum es geht. :]

    cu
     
  14. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.