Compiler Fehler



  • Hi @ll,

    ich versuch C++ zu lernen und deshalb zum test ein kleines Programm geschrieben, nun hab ich folgendes Problem mit meiner Anweisung, wenn ich die Anweisung Compiliere erfolgt ein Fehler in der 3 Zeile und ich weiss nicht warum.

    Könnt Ihr mir bitte helfen ich komm sonst nicht weiter.

    Code:

    #include<stdio.h>

    using namespace std;

    int pot(int x,int y)
    {
    int i, p=1;
    for (i=1; i<=y; i++)
    p*=x;
    return(p);
    }

    main()
    {
    int basis,expo;
    printf("Geben Sie die Basis ein :");
    scanf("%i",&basis);
    printf("Geben Sie den Exponenten ein :");
    scanf("%i",&expo);
    prinft("%i hoch %i = %i\n", basis, expo,pot(basis,expo));
    }
    system("PAUSE");
    return EXIT_SUCCESS;
    }



  • Ok.



  • Lies dir bitte diese Hinweise durch und versuchs nochmal. Du kannst deinen ursprünglichen Post editieren.



  • Wachsi10 schrieb:

    ich versuch C++ zu lernen

    Sieht aufjedenfall stark nach C++ aus.

    Kóyaánasqatsi schrieb:

    Ok.

    😃 👍


  • Mod

    Was mir gerade auffällt: Du schreibst an einer Stelle prinft statt printf.

    Außerdem: Bist du sicher, dass du C++ machen willst? Das ist nämlich alles C, außer das 'using namespace std' und dieses hat keinerlei Effekt, da du nirgendwo sonst C++ Sprachelemente verwendest.

    In C++ wäre außerdem 'main' ohne Rückgabewert falsch aber ich bin mir nicht sicher, was der C-Standard da so vorschreibt. Ich glaube da wird bei funktionen ohne Rückgabewert implizit int angenommen (was dann wieder richtig wäre).

    Da kommt mir eine Idee: Versuchst du vielleicht wirklich reines C zu machen? Verwendest du zufällig einen C Compiler? Der kennt dann nämlich das 'using namespace' nicht und wird dir dort einen Fehler herausgeben. Das ist ja auch genau in Zeile 3!



  • Hi dank für den,

    Hinweis es ist reines C und somit hab ich noch ne frage wo bekomm ich einen Compailer her????

    Gruß



  • OK ich habs,

    meine fresse ist das Compliziert. Danke euch.



  • Wachsi10 schrieb:

    und somit hab ich noch ne frage wo bekomm ich einen Compailer her????

    Hast du nicht bereits einen? Oder wie hast du im oberen Beispiel Compilerfehler bekommen?

    Wenn du C-Compiler meinst und bisher einen für C++ hast: Wahrscheinlich kannst du den behalten, da er auch reines C kann. Da gibts möglicherweise eine Sprach-Einstellung.



  • Und bitte verwende nächstes Mal Code Tags 🙄

    Was genau war denn jetzt eigentlich falsch ?



  • Nexus schrieb:

    Hast du nicht bereits einen? Oder wie hast du im oberen Beispiel Compilerfehler bekommen?

    codepad.org 😃



  • SeppJ schrieb:

    In C++ wäre außerdem 'main' ohne Rückgabewert falsch aber ich bin mir nicht sicher, was der C-Standard da so vorschreibt. Ich glaube da wird bei funktionen ohne Rückgabewert implizit int angenommen (was dann wieder richtig wäre).

    In C++ und C99 darf man in main() das 'return' weglassen. Ich hab den Verdacht, dass C das später erlaubt hat, weil es in C++ erlaubt ist.
    🙂



  • Er redet vom Rückgabetyp in der Signatur und nicht vom return.



  • Michael E. schrieb:

    Er redet vom Rückgabetyp in der Signatur und nicht vom return.

    Ganz recht. Lesen bildet. 🙄

    Übrigens darf man das in C auch schon lange nicht mehr.
    🙂


Anmelden zum Antworten