Brüche addieren



  • Shade Of Mine schrieb:

    while(1)fork(); schrieb:

    mach doch erstmal ne klasse mit - etwa so:

    ne, besser nicht so.

    Dann sag wenigstens noch dazu, was daran nicht gut ist, bzw. was auf jeden Fall geändert werden sollte. Aber so kommt das irgendwie nur arrogant rüber.

    MfG Jester



  • Jester schrieb:

    Dann sag wenigstens noch dazu, was daran nicht gut ist, bzw. was auf jeden Fall geändert werden sollte. Aber so kommt das irgendwie nur arrogant rüber.

    class CBruch //kein C vor dem klassennamen
    {
       double z,n; //geile namen
       void kuertzen(void);   //wozu das 2. void?
       //und ist kuertzen neue deutsche rechtschreibung???
    
    public:
       CBruch(void) { v = n = 0.0; }; // wozu das void?
       //wozu gibts ne initliste?
    
       CBruch operator+(CBruch b); //op+ ist non member
       //und wenn er schon member ist, was zwar mies ist, aber dann doch bitte const
       //weiters ist es wohl nicht ideal b by value zu uebergeben.
       //es sei denn wir implementieren es mittels des op+=
       //dieser fehlt aber. und man sollte op+ immer mittels op+=
       //implementieren. ausnahme: wenn es performance gruende gibt
    };
    

    aber sonst war der code ganz ok 😉



  • Ich finds schade, dass hier wieder die Hausaufgaben anderer Leute erledigt werden. Die Aufgabe ist ja nun wahlich nicht schwer, vor allem nicht wenn man es studiert.



  • Jester schrieb:

    Shade Of Mine schrieb:

    while(1)fork(); schrieb:

    mach doch erstmal ne klasse mit - etwa so:

    ne, besser nicht so.

    Dann sag wenigstens noch dazu, was daran nicht gut ist, bzw. was auf jeden Fall geändert werden sollte. Aber so kommt das irgendwie nur arrogant rüber.

    MfG Jester

    Tschuldige 😮 das ich mich jetzt erst melde, habe jetzt erst nen richtigen Compiler gefunden mit den ich arbeitet kann (Visual C++ 6.0). Ich habe mal (Jester) 👍 Vorschlag getestet, wobei dann in der 3 Zeile ein Fehler auftritt:
    #include "bruch.h"

    e:\c++\msdev98\myprojects\fer\wefr.cpp(3) : fatal error C1083: Cannot open include file: 'bruch.h': No such file or directory
    Error executing cl.exe.

    Ich habe die letzten tage mir den einführungskurs bei http://www.volkard.de/vcppkold/inhalt.html reingefahren, weil ich bei null angefangen habe! 💡 💡

    Ich bin echt über jeden tipp von euch dankbar 🙂 und ich will es auch nicht so aussehen lassen, dass ihr mein PROJEKT schreiben sollt. Muss ja auch noch ne Klausur darüber bestehen 😡 😡 !! HEHE! Außerdem reizt es mich schon in die Tiefen von c++ zutauchen!

    gruß köln
    🙂



  • Na gut, wollen wir mal glauben
    Also du hast 3 Dateien, die bruch.h, die bruch.cpp und die bruch_t.cpp

    // --------------------------------------------------------------- 
    //  Datei:  bruch.cpp 
    //  Zweck:  Definition der globalen Funktion ggt(). 
    //          Methoden und friend-Funktionen der Klasse Bruch 
    // --------------------------------------------------------------- 
    
    #include <iostream.h> 
    #include <stdlib.h> 
    #include "bruch.h" 
    
    // Größter gemeinsamer Teiler (ggt) zweier ganzer Zahlen. 
    // Berechnung mit einem Algorithmus nach Euklid. 
    long ggt( long a, long b) 
    { 
       if( a < 0) a = -a; 
       if( b < 0) b = -b; 
    
       if( a == 0 || b == 0) return 1; 
    
       long hilf; 
       while( b != 0) 
       { 
         hilf = a % b;   a = b;   b = hilf; 
       } 
       return a; 
    } 
    
    // Methoden der Klasse Bruch 
    
    // Konstruktoren. 
    Bruch::Bruch(long z, long n) 
    { 
       if(n != 0) 
       { 
         if( n < 0 ) z = -z, n = -n; 
         zaehler = z; 
         nenner  = n; 
       } 
       else 
       { 
         cerr << "\nFehler: Division durch Null!\n"; 
         exit(1); 
       } 
    } 
    
    Bruch::Bruch(int z) 
    { 
       zaehler = z;   nenner  = 1; 
    } 
    
    Bruch::Bruch(long z) 
    { 
       zaehler = z;   nenner  = 1; 
    } 
    
    Bruch::Bruch(double x) 
    { 
       zaehler = (long)((x * 1000.0) + 0.5);    // die 4. Stelle runden 
       nenner  = 1000; 
       kuerzen(); 
    } 
    
    Bruch operator+(const Bruch& a, const Bruch& b ) 
    { 
       Bruch temp; 
    
       temp.nenner = a.nenner * b.nenner; 
       temp.zaehler = a.zaehler*b.nenner + b.zaehler * a.nenner; 
       temp.kuerzen(); 
    
       return temp; 
    } 
    
    Bruch operator-(const Bruch& a, const Bruch& b ) 
    { 
       Bruch temp = a; 
    
       temp += (-b); 
    
       return temp; 
    } 
    
    Bruch operator*(const Bruch& a, const Bruch& b ) 
    { 
       Bruch temp; 
    
       temp.zaehler = a.zaehler * b.zaehler; 
       temp.nenner  = a.nenner  * b.nenner; 
       temp.kuerzen(); 
    
       return temp; 
    } 
    
    Bruch operator/(const Bruch& a, const Bruch& b ) 
    { 
       if( b.zaehler == 0) 
       { 
         cerr << "\nFehler: Division durch Null!\n"; 
         exit(1); 
       } 
    
       Bruch temp;                 // a mit dem Kehrwert von b multiplizieren 
       temp.zaehler = a.zaehler * b.nenner; 
       temp.nenner  = a.nenner  * b.zaehler; 
    
       if( temp.nenner < 0 ) 
         temp.zaehler = -temp.zaehler, 
         temp.nenner  = -temp.nenner; 
    
       temp.kuerzen(); 
    
       return temp; 
    } 
    
    ostream& operator<<(ostream& os, const Bruch& a) 
    { 
      os << a.zaehler << "/" << a.nenner; 
      return os; 
    } 
    
    istream& operator>>(istream& is, Bruch& a) 
    { 
       cout << "\n  Zaehler:       ";   is >> a.zaehler; 
       cout <<   "  Nenner (!= 0): ";   is >> a.nenner; 
    
       if( a.nenner == 0) 
       { 
         cout << "\nFehler: Der Nenner ist 0\n" 
                 "  Neuer Nenner (!= 0): ";   is >> a.nenner; 
    
         if( a.nenner == 0) 
         { 
           cerr << "\nFehler: Division durch Null!\n"; 
           exit(1); 
         } 
       } 
       if( a.nenner < 0 ) 
         a.zaehler = -a.zaehler, 
         a.nenner  = -a.nenner; 
    
       a.kuerzen(); 
    
       return is; 
    }
    
    // ---------------------------------------------------------------- 
    //  Datei:  bruch.h (9. Kapitel) 
    //  Zweck:  Eine numerische Klasse zur Repräsentierung von Brüchen. 
    //          Mit Typkonvertierungen double -> Bruch und Bruch -> double 
    //          und der Methode kuerzen() 
    // ---------------------------------------------------------------- 
    
    #ifndef _BRUCH_ 
    #define _BRUCH_ 
    
    #include <iostream.h> 
    #include <stdlib.h> 
    
    // Größter gemeinsamer Teiler (ggt) zweier ganzer Zahlen. 
    long ggt( long a, long b); 
    
    class Bruch 
    { 
      private: 
       long zaehler, nenner; 
       void kuerzen() 
       { 
         long teiler = ggt( zaehler, nenner); 
         zaehler /= teiler;  nenner /= teiler; 
       } 
    
      public: 
       // Konstruktoren (Konvertierung nach Bruch) 
       Bruch(long z, long n); 
       Bruch(int z); 
       Bruch(long z = 0); 
       Bruch(double x); 
    
       // Konvertierung von Bruch nach double: 
       operator double() 
       { 
         return (double)zaehler / (double)nenner; 
       } 
    
       Bruch operator-() const 
       { 
          return Bruch(-zaehler, nenner); 
       } 
    
       Bruch operator+=(const Bruch& a) 
       { 
          zaehler = a.zaehler * nenner + zaehler * a.nenner; 
          nenner *= a.nenner; 
          kuerzen(); 
    
          return *this; 
       } 
    
       Bruch operator-=(const Bruch& a) 
       { 
          *this += (-a); 
          return *this; 
       } 
    
       friend Bruch operator+ (const Bruch&, const Bruch& ); 
       friend Bruch operator- (const Bruch&, const Bruch& ); 
       friend Bruch operator* (const Bruch&, const Bruch&); 
       friend Bruch operator/ (const Bruch&, const Bruch&); 
    
       friend ostream& operator<< (ostream& os, const Bruch& a); 
       friend istream& operator>> (istream& is, Bruch& a); 
    }; 
    
    #endif
    
    // ------------------------------------------------------------------- 
    //  Datei:  bruch_t.cpp (9. Kapitel) 
    //  Zweck:  Die Klasse Bruch mit Typkonvertierungen testen. 
    //  Module: bruch_t.cpp  bruch.cpp 
    // ------------------------------------------------------------------- 
    
    #include <iostream.h> 
    #include "bruch.h" 
    
    int main() 
    { 
       Bruch a, b(6), c(0.125); 
    
       cout << "\nEinige Testausgaben:\n\n"; 
       cout << " a = " << a << endl; 
       cout << " b = " << b << endl; 
       cout << " c = " << c << endl; 
    
       cout << "\nBitte einen Bruch eingeben:"; 
       cin  >> a; 
    
       cout << "\nBitte eine ganze Zahl eingeben: "; 
       long n; cin  >> n; 
       b = n; 
    
       cout << "\nBitte eine Gleitpunkt-Zahl eingeben: "; 
       double x; cin >> x; 
       c = x; 
    
       cout << "\nDie eingegeben Werte als Brüche:\n\n"; 
       cout << " a = " << a << endl; 
       cout << " b = " << b << endl; 
       cout << " c = " << c << endl; 
    
       cout << "\nDie eingegeben Werte als double:\n\n"; 
       cout << " a = " << (double)a << endl; 
       cout << " b = " << (double)b << endl; 
       cout << " c = " << (double)c << endl; 
    
       cout << "\nUnd etwas Arithmetik:\n\n"; 
       cout << " a + b = " << (a + b) << endl; 
       cout << " a - b = " << (a - b) << endl; 
       cout << " a * b = " << (a * b) << endl; 
       cout << " a / b = " << (a / b) << endl; 
    
       a += Bruch(1,2); 
       cout << " a+= 1/2;  a = " << a << endl; 
    
       a -= Bruch(1,2); 
       cout << " a-= 1/2;  a = " << a << endl; 
    
       cout << "-b = " << -b << endl; 
    
       while( cin.get() !='\n') 
         ; 
       cout << "\nWeiter mit <Return>\n";  cin.get(); 
       cout << "\nEinige Testausgaben:\n"; 
       cout << " a = " << a << endl; 
       cout << " x = " << x << endl; 
    
       // Nicht möglich, da zweideutig: 
       // a = b + x; 
       // n = a + 10; 
       // ok: 
       c = a + Bruch(x);      // double -> Bruch 
       x = (double)a + x;     // Bruch -> double 
    
       cout << " a + x  als Bruch :  " << c << endl; 
       cout << " a + x  als double:  " << x << endl; 
    
       c = a + Bruch(10);   // int -> Bruch 
       n = (long)a + 10;    // Bruch -> double -> long 
    
       cout << " a + 10 als Bruch :  " << c << endl; 
       cout << " a + 10 als long  :  " << n << endl; 
    
       n = a + Bruch(10);   // int -> Bruch, dann Bruch -> double -> long 
       cout << " a + Bruch(10) als long:  " << n << endl; 
    
       return 0; 
    }
    


  • @ Koeln:
    Ich finde, nach dieser detailierten Antwort von Horst2 wäre ein "Danke" mehr als angebracht...

    @Horst2:
    Ich hoffe, du kennst dich mit DCOM aus! 😉



  • Tag zusammen! Mein Quellcode sieht folgendermaßen aus:

    #include <stdio.h>
    /*Bruchaddition*/

    void main()

    {
    int z1,z2,n1,n2, wert_1, wert_2, z_erg, n_erg; /* Deklaration */

    printf("Bitte geben Sie den Zaehler des 1. Bruchs ein:");
    scanf("%i",&z1);

    printf("Bitte geben Sie den Nenner des 1. Bruchs ein:");
    scanf("%i",&n1);

    while (n1 ==0 )
    {
    printf ("Im Nenner darf nicht 0 stehen\n");
    printf("Bitte geben Sie einen anderen Nenner des 1. Bruchs ein:");
    scanf("%i",&n1);
    }

    printf("Bitte geben Sie den Zaehler des 2. Bruchs ein:");
    scanf("%i",&z2);

    printf("Bitte geben Sie den Nenner des 2. Bruchs ein:");
    scanf("%i",&n2);

    while (n2 ==0)
    {
    printf ("Im Nenner darf nicht 0 stehen\n");
    printf("Bitte geben Sie einen anderen Nenner des 2. Bruchs ein:");
    scanf("%i",&n2);
    }
    /* Ergebnis der Addition*/
    /* Ein möglicher Hauptnenner ist immer die Multiplikation der beiden Bruchnenner*/

    z1=z1n2;
    z2=z2
    n1;

    z_erg = z1+z2;
    n_erg = n1*n2;

    /*Kürzen des Bruches*/
    /*Bestimmung des GGT*/
    wert_1 = z_erg;
    wert_2 = n_erg;

    /* Für das Kürzen werden nur positive Werte benötigt -> Vorzeichenumkehrung*/

    if (wert_1 < 0)
    wert_1 = wert_1 *-1;

    if (wert_2 < 0)
    wert_2 = wert_2 *-1;

    while (wert_1 != wert_2)
    if (wert_1 > wert_2)
    wert_1 = wert_1 - wert_2;
    else
    wert_2 = wert_2 - wert_1;

    /*GGT (wert_2 = wert_1 ist ermittelt*/

    z_erg = z_erg/wert_1;
    n_erg = n_erg/wert_1;

    if (n_erg ==1) /*bei einem Bruch mit der 1 im Nenner */
    printf ("Ergebnis: = %i\n", z_erg); /*Es wird NUR der Zähler ausgegeben*/
    else
    {
    printf ("Ergebnis Zaehler = %i\n", z_erg);
    printf ("Ergebnis Nenner = %i\n", n_erg);
    }

    return;

    }

    Haben aber den Euklid nicht benutzt, hat jemand vielleicht eine Idee zum Integrieren des Euklids??? Und wie kann bei der Ausgabe nicht nur die zahlen anzeigen lassen sondern auch den Bruchstrich??? Kann man dafür eine Struktur benutzten??

    Danke Danke an die Leute (Z.B. Horst2) die mich bisher unterstützt haben



  • Bitte Code-Tags verwenden!

    Köln schrieb:

    printf("Bitte geben Sie den Nenner des 1. Bruchs ein:"); 
    scanf("%i",&n1); 
    
    while (n1 ==0 ) 
    { 
    printf ("Im Nenner darf nicht 0 stehen\n"); 
    printf("Bitte geben Sie einen anderen Nenner des 1. Bruchs ein:"); 
    scanf("%i",&n1); 
    }
    

    Das kannst du locker in eine do {} while Schleife packen, genauso mit dem 2. Bruch.

    Nun, wenn du den euklidischen Algo benutzt, ist es nicht schlecht dafür eine eigene Funktion zu schreiben. Ich poste einfach mal die, die ich normalerweise benutze:

    // greatest common divisor
    template <class T>
    inline T gcd(T x1, T x2)
    {
    	// ensure to return not 0
    	if (x1 == 0 && x2 == 0)
    		return 1;
    	// euclidean algorithm
    	while (x2 != 0)
    	{
    		T tmp = x2;
    		x2 = x1 % x2;
    		x1 = tmp;
    	}
    	return x1;
    }
    

    Ist zwar templated, kannst aber das T durch int ersetzen, falls unerwünscht.
    Nach deiner Addition rufst du dann die Funktion mit z_erg und n_erg auf. Danach dividierst du dann z_erg und n_erg durch das Ergebnis. That's all.



  • Danke groovemaster2002
    habe die do {}while schleife integriert, aber beim Euklid bin ich echt zublöd dafür! Wo setzte ich den ein??? Und ich kann für t= int einsetzten, also so:

    // greatest common divisor
    template <class int>
    inline int gcd(int x1, int x2)
    {
    // ensure to return not 0
    if (x1 == 0 && x2 == 0)
    return 1;
    // euclidean algorithm
    while (x2 != 0)
    {
    int tmp = x2;
    x2 = x1 % x2;
    x1 = tmp;
    }
    return x1;
    }

    Gruß Köln

    do{
    printf("Bitte geben Sie den Nenner des 1. Bruchs ein:");
    scanf("%i",&n1);

    } while (n1 ==0 )
    {
    printf ("Im Nenner darf nicht 0 stehen\n");
    printf("Bitte geben Sie einen anderen Nenner des 1. Bruchs ein:");
    scanf("%i",&n1);
    }

    printf("Bitte geben Sie den Zaehler des 2. Bruchs ein:");
    scanf("%i",&z2);

    do{
    printf("Bitte geben Sie den Nenner des 2. Bruchs ein:");
    scanf("%i",&n2);

    } while (n2 ==0)
    {



  • Hallo ich brauche hilfe!!!

    Gruß Marco 😮



  • Bekomme folgende fehlermeldung, hat jemand rat wie man den Fehler lösen kann!!

    --------------------Konfiguration: Brücheaddieren - Win32 Debug--------------------
    Kompilierung läuft...
    Bruch.cpp
    Z:\CAE\Bruch\nichtfertig\Bruch.cpp(46) : error C2601: 'ggt_mod' : Lokale Funktionsdefinitionen sind unzulaessig
    Fehler beim Ausführen von cl.exe.

    Bruch.obj - 1 Fehler, 0 Warnung(en)

    Gruß Stein

    #include <stdio.h>
    /*AdditionvonBrüchen*/

    void main()

    {
    int z1,z2,n1,n2,u,v, wert_1, wert_2, z_erg, n_erg; /* Deklaration */

    do{
    printf("Geben Sie bitte den Zaehler des 1. Bruchs ein:");
    scanf("%i",&z1);

    printf("Geben Sie bitte den Nenner des 1. Bruchs ein:");
    scanf("%i",&n1);
    }
    while (n1 ==0 )
    ;{
    printf ("Im Nenner darf auf keinen Fall 0 stehen\n");
    printf("Geben Sie bitte einen anderen Nenner des 1. Bruchs ein und nicht die Null:");
    scanf("%i",&n1);
    }

    do{
    printf("Nun geben Sie bitte den Zaehler des 2. Bruchs ein:");
    scanf("%i",&z2);

    printf("Bitte geben Sie als letztes den Nenner des 2. Bruchs ein:");
    scanf("%i",&n2);
    }

    while (n2 ==0)
    ;{
    printf ("Im Nenner darf nicht 0 stehen\n");
    printf("Bitte geben Sie einen ANDREN Nenner des 2. Bruchs ein:");
    scanf("%i",&n2);
    }

    /Der Satz des Euklid// Größter gemeinsamer Teiler (ggt) zweier ganzer Zahlen.
    Berechnung mit einem Algorithmus nach Euklid
    /
    z1=z1n2;
    z2=z2
    n1;

    z_erg = u;
    n_erg = v;

    int ggt_mod(int u, int v){
    int hilf;
    while(u>0){
    hilf=u;
    u=v%u;
    v=hilf;
    }
    return v;
    }

    z_erg = u;
    n_erg = v;

    if (n_erg ==1) /*bei einem Bruch mit der 1 im Nenner */
    printf ("Ergebnis: = %i\n", z_erg); /*Es wird NUR der Zähler ausgegeben*/
    else
    {
    printf ("Ergebnis Zaehler = %i\n", z_erg);
    printf ("Ergebnis Nenner = %i\n", n_erg);
    }

    return;
    }



  • 😕 😕 tut mir leid, aber was ist das? Benutze bitte, bitte, bitte die code-tags (das sind die buttons unter dem Nachrichtentexteditor); thanx!!
    den Fehler findest du selber:

    1. Kontroliere doch mal alle öffnenden und die dazugehörigen schließenden geschweiften Klammern {}
      (ist deren Anzahl gleich oder hast du welche vergessen?)
      wo endet zB deine main?
      2)schau dir mal deine returns an?
    2. wie sieht es mit der Prototypendeklaration deiner Funktionen aus?
      ...
      n) sieht außerdem sehr nach C aus


  • Danke für deine Antwort 🙂 habe die klammern überprüft habe jetzt nur noch den Fehler beim Integrieren des Satz des Euklid!

    Das Programm soll Brüche addieren & als Ergebnis muss ein gekürzter Bruch raus kommen

    Gruß Köln

    n_erg = v;

    int ggt_mod(int u, int v){ <====== Hier stimmt was nicht, weiß aber nicht was
    int hilf;
    while(u>0){
    hilf=u;
    u=v%u;
    v=hilf;
    }
    return v;

    }

    z_erg = u;
    n_erg = v;

    [cpp]



  • auch wenn das mit den code-tags nicht so ganz geklappt hat, sieht man, daß du es versucht hast...
    also:
    2nd time: hast du die Prototypen der Funktionen vor der main deklariert??
    willst du in C programmieren?
    nur auf die Möglichkeit hin, daß du es wirklich nicht weißt:
    der Aufbau sollte ungefähr so aussehen:

    #include....//Präprozessordirektiven
    int funktion1(int parameter1, int....);  //prototypendeklaration: forward declaration
    int main(){  //oder eben void, aber dann natürlich ohne return
        //anweisungen....
        //Funktionsaufruf:
        ergebnis = funktion1(zahl1,zahl2...);
        return 0;
    }//mit } schließen!!!
    //Definition der Funktionen
    int funktion1(int parameter1, int....){
        int result;
        //berechnerechnerechnerechne
        return result;
    }//mit } schließen!!!
    


  • 😉 Habe leider es nicht mehr hinbekommen, egal danke für eurer bemühn!

    Gruß Köln

    [cpp][code] #include <stdio.h>
    /*AdditionvonBrüchen*/

    void main()

    {
    int z1,z2,n1,n2,u,v, wert_1, wert_2, z_erg, n_erg; /* Deklaration */

    do{
    printf("Geben Sie bitte den Zaehler des 1. Bruchs ein:");
    scanf("%i",&z1);

    printf("Geben Sie bitte den Nenner des 1. Bruchs ein:");
    scanf("%i",&n1);
    }
    while (n1 ==0 )
    ;{
    printf ("Im Nenner darf auf keinen Fall 0 stehen\n");
    printf("Geben Sie bitte einen anderen Nenner des 1. Bruchs ein und nicht die Null:");
    scanf("%i",&n1);
    }

    do{
    printf("Nun geben Sie bitte den Zaehler des 2. Bruchs ein:");
    scanf("%i",&z2);

    printf("Bitte geben Sie als letztes den Nenner des 2. Bruchs ein:");
    scanf("%i",&n2);
    }

    while (n2 ==0)
    ;{
    printf ("Im Nenner darf nicht 0 stehen\n");
    printf("Bitte geben Sie einen ANDREN Nenner des 2. Bruchs ein:");
    scanf("%i",&n2);
    }

    /Der Satz des Euklid// Größter gemeinsamer Teiler (ggt) zweier ganzer Zahlen.
    Berechnung mit einem Algorithmus nach Euklid
    /
    z1=z1n2;
    z2=z2
    n1;

    z_erg = u;
    n_erg = v;

    int ggt_mod(int u, int v){
    int hilf;
    while(u>0){
    hilf=u;
    u=v%u;
    v=hilf;
    }
    return v;
    }



  • @Köln:
    Was, zum Geier, hat denn jetzt nicht geklappt? Wenn ich mir deinen Code so ansehe bemerke ich an den verschiedensten Stellen scheinbar doch große Verständnislücken.
    Du sollst das Ding für dein Studium oder die Schule abgeben oder schon längst fertig haben? Dann müssen die Dozenten/Lehrer voraussetzen können, dass die Schüler/Studenten das auch packen können, will sagen, dass also bereits Vorkenntnisse vorhanden sind. Die sehe ich bei deinem Code allerdings nicht.
    Hast Du dich da um den Grundlagenkurs gedrückt, oder wie? Das können wir auch nicht ausbügeln, ein Studium erfordert nunmal Eigeninitiative (kenn ich aus eigener Erfahrung).
    Und außerdem sind die Code-Tags doch auch nicht so schwer zu verstehen:
    Verwende

    zum Beginn eines Code-Blocks, und
    

    zum Ende eines Code-Blocks.
    Manmanman, und mit sowas verschwendet man seine Zeit... OK, ist vielleicht ein wenig hart, aber im Studium sollte man schon selber dafür sorgen können, dass man die nötigen Grundkenntnisse hat.



  • hey kölle nicht aufgeben! das kriegst du schon hin, wenn du dir vorher auch mal genau überlegst wie der Ablauf deiner Programmlogik sein soll (waage sogar den Schritt und erstelle dir mal ein Ablaufdiagramm). Schau dir mal ein paar einfachere Code-Beispiel an und übe mal die Verwendung von Funktionen. Laß dir dazu mal ein paar positivBeispiele geben oder schau mal in die tutorials; Kopf hoch 🕶


Anmelden zum Antworten