Hilfe bei ggT



  • Habe das Problem das mir cout als nicht deklariert angezeigt wird. Weis nicht wo der fehler ist.
    danke euch schon im Voraus

    #include <stdio.h>
    #include <stdlib.h>
    #include <math.h>

    using namespace std;

    int main(int argc, char *argv[])

    {

    int ggT( int a , int b);
    int a , b ;

    printf ("Gib einen beliebigen Integer ein :\n");
    scanf ("%d",& a);

    printf ("Gib den zweiten beliebigen Integer ein:\n");
    scanf ("%d",& b);

    int ggt = ggT(b, a%b);
    cout<< "ggT von " << a << " und " << b << " ist " << ggt << endl;
    return 0;

    }

    int ggT(int a, int b) {
    if( b==0)
    return a;
    else
    ggT(b, a%b);
    }



  • 1. Lerne C++ an Hand eines Buches (z.B. C++-Primer oder Die C++-Porgrammiersprache, NICHT JEDOCH C++ von A bis Z!)

    2. Dein Programm hat definitiv nicht nur den einen Fehler...
    Hier mal eine korrigierte Form:

    // Weg damit, das ist C!
    // #include <stdio.h>
    // #include <stdlib.h>
    // #include <math.h>
    
    // Hier drin ist std::cout, also muss das eingebunden werden
    // std::cin ist hier auch gleich drin (als Ersatz zu scanf)
    #include <iostream>
    
    // muss man nicht machen, aber so kann man einfach cout, cin und endl schreiben
    // anstatt std::cout usw.
    using namespace std;
    
    // Die Deklaration von ggT packen wir nicht in die main-Funktion
    int ggT(int a, int b);
    
    int main(int argc, char *argv[])
    {
        int a, b;
    
        // printf und scanf sind C-Funktionen!
        // also ersetzen wir deine Funktionen durch std::cout und std::cin
        cout << "Gib einen beliebigen Integer ein: ";
        cin >> a;
    
        cout << "Gib den zweiten beliebigen Integer ein: "; 
        cin >> b;
    
        // Keine gute Idee, eine Variable fast genauso zu nennen wie eine Funktion
        // Stell dir vor, du vertippst dich mal... (aber prinzipiell ist das kein Fehler)
        int ggt = ggT(a, b);
        cout<< "ggT von " << a << " und " << b << " ist " << ggt << endl;
        return 0;
    }
    
    int ggT(int a, int b)
    {
        if(b == 0)
            return a;
        else
            return ggT(b, a % b); // Hier hattest du das return vergessen
    }
    

    MfG DrakoXP



  • @DrakoXP

    Gehört hier jezt nicht zwar zum Thema hinein, aber eine kurze Frage hätte ich.
    Ist "C++ von A bis Z" wirklich so schlecht? Ich meine als Einstieg, weil das erlernen dieser Sprache ist mit einem einzigen Buch definitiv nicht getan, aber diese Aussage verunsichert mich ein wenig.

    Naja und "C++ PRIMER" (Vierte Auflage) habe ich im Regal stehen, aber habe seit einer kurzen Weile mit "C++ von A bis Z" angefangen.

    Gruss,
    arb3r



  • arb3r schrieb:

    Gehört hier jezt nicht zwar zum Thema hinein, aber eine kurze Frage hätte ich.
    Ist "C++ von A bis Z" wirklich so schlecht?

    Es gibt mehrere(!) Threads dazu, die vor diesem Buch warnen.



  • otze schrieb:

    Es gibt mehrere(!) Threads dazu, die vor diesem Buch warnen.

    Zu finden unter google
    c++ wurstbrot supermarkt
    und
    c++ jürgen würgen


Anmelden zum Antworten