ein Taschenrechner programmieren, der Brüche + - * / nehmen kann



  • Was Du meinst ist der ggT und nicht der kgV, für dessen Berechnung würde ich auf den euklidischen Algorithmus verweisen da gibt es tausende von Seiten im Netz.

    Ansonsten würd ich sagen wir fangen hier mal an ne Klasse Bruch zu implementieren, ich mach mal folgenden Vorschlag:

    int ggT(int a, int b); // ggT implementieren
    int kgV(int a, int b); // kgV implementieren, leicht, kgV(a,b) = a*b/ggT(a,b)
    
    class Bruch
    {
      // implizite Konvertierung von int nach Bruch erwünnscht
      Bruch(int z, int n=1) { if(n==0)
                                throw std::logic_error("Nenner 0");
                              zaehler=z; nenner=n; kuerze();
      }
    
      // Default Copy+Assignment sind okay
    
      int getZaehler() const { return zaehler; }
      int getNenner () const { return nenner;  }
    
      Bruch & operator+=(const Bruch & rhs);
      Bruch & operator-=(const Bruch & rhs);
      Bruch & operator*=(const Bruch & rhs);
      Bruch & operator/=(const Bruch & rhs); // Multiplikation mit Kehrwert
    private:
      void kuerze();  // noch zu implementieren, einfach zaehler, nenner durch
                      // ggT(zaehler, nenner) teilen
    
      int zaehler, nenner;
    }
    
    ostream & operator<<(ostream & os, const Bruch & b)
    {
      return os << b.getZaehler() << '/' << b.getNenner;
    }
    

    So, das ist mal ein Anfang. Den Rest müßtest Du eigentlich selbst hinkriegen.
    Viel Erfolg noch!
    Jester



  • Hi, ich muss den aber mit borland c++ Builder programmieren, kann ich dann den code dann auch nehmen????



  • pede911 schrieb:

    Hi, ich muss den aber mit borland c++ Builder programmieren, kann ich dann den code dann auch nehmen????

    Ja. Nur wenn du eine Windowsoberfläche und keine Conslenausgabe haben willst,
    musst du den op<< weglassen. Wenn dir das aber nicht klar ist, würd ich noch mal
    in das eine oder andere Tut schauen (zB das von Volkrad, zu finden auf dieser
    Seite).



  • Schreibs doch erstmal auf Konsole. Wenn dann die Rechensachen an sich fertig sind kannste noch die Oberfläche drüberklatschen und fertig.



  • ich kann das nicht anders, als erst das grapfische machen und dann draufdrücken und dann programmieren. Bin ein Anfänger



  • Dann versuch's halt mal. Andersrum wird's meistens beschissen.

    Mach mal ein Konsolenprogramm, kopier Dir den Code von oben rein und versuch ihn zum Laufen zu bringen. Nimm mal noch die folgende main dazu:

    int main()
    {
      Bruch b(2,3);
      cout << b << endl;
    }
    

    Ganz vorne
    #include<iostream>
    using namespace std;

    nicht vergessen.

    MfG Jester



  • Hi Jester, ich habe jetzt angefangen, weiss aber nicht genau wie ich das einsetzten kann.

    Kann ich dir mein Programm mal schicken?

    Habe mich bei eurem Board angemeldet, mein Name ist Pede



  • Wo klemmt's denn? Ansonsten kannste ruhig mal schicken, morgen hab ich wahrscheinlich ein bißchen Zeit.



  • Hi Jester, wie ist deine email, damit ich dir das programm schicke





  • Hi, habe dir jetzt das Programm geschickt.

    Also ich dachte mir den taschenrechner so, dass man einerseits brüche selber eingeben kann und dann auf die jeweilige Taste drückt, wenn man den Bruch + - * / nehmen möchte.

    Wenn man auf den Button Bruch generieren drückt, soll das programm zwei brüche erstellen und eine variante aussuchen, also + - * /

    Was ich vergessen habe, wo ich auch gar keine ahnung von habe

    Das prgramm soll die anzahl der gerechneten brüche zählen und die richtigen lösungen in prozentzahl angeben

    Zu sehen soll sein " Anzahl der gerechneten Aufgaben:"

    davon richtig : Prozentzahl.

    Wäre echt super geil, wenn du mir helfen könntest. Können auch gerne per icq oder aim oder mirc reden.

    meine icq nr: 13566724


Anmelden zum Antworten