Startfehler



  • Du musst die Fehlermeldungen auch lesen.

    Wenn du die englische Fehlermeldung des Compiler nicht vestehst, dann gib die doch mal bei http://de.babelfish.yahoo.com/ ein.

    Am besten per copy&paste, damit nicht wieder so doofe Übertragungsfehler entstehen.



  • so wirklich versteh ich die meistens auch nicht wirklich. danke aber für den link 😉



  • Wollte jetzt nicht unebdingt nen neuen Thread aufmachen, daher poste ich es mal hierrein

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

    int main()
    {
        int m;
        int x;
        int b;
        int erg;
    
        printf("Geben Sie die eine Zahl fuer m ein: ");
        scanf("%i", &m);
        printf("Geben Sie ein Zahl fuer x ein: ");
        scanf("%i", &x);
        printf("Geben Sie eine Zahl fuer b ein: ");
        scanf("%i", &m);
    
        erg = m * x + b;
    
        printf("\nErgebnis: %i\n", erg);
    
        system("PAUSE");
        return 0;
    }
    

    Ich möchte, dass ich als 1. eine Zahl für m eingebe, danach eine Zahl für x eingebe und zum schluss eine zahl für b eingebe. anschließend soll mein "Programm" hust hust* m und x multiplizieren und b dazu addieren. Leider macht es das nicht. Hab wohl nicht alles richtig gemacht, nur was?


  • Mod

    Richtig von der Idee her. Guck nochmal ganz scharf hin, besonders auf die scanfs:

    printf("Geben Sie die eine Zahl fuer m ein: ");
        scanf("%i", &m);
        printf("Geben Sie ein Zahl fuer x ein: ");
        scanf("%i", &x);
        printf("Geben Sie eine Zahl fuer b ein: ");
        scanf("%i", &m);
    


  • Windassel schrieb:

    zum schluss eine zahl für b eingebe.

    Dann solltest du auch darauf achten, was du tatsächlich eingibst.



  • SeppJ schrieb:

    Richtig von der Idee her. Guck nochmal ganz scharf hin, besonders auf die scanfs:

    printf("Geben Sie die eine Zahl fuer m ein: ");
        scanf("%i", &m);
        printf("Geben Sie ein Zahl fuer x ein: ");
        scanf("%i", &x);
        printf("Geben Sie eine Zahl fuer b ein: ");
        scanf("%i", &m);
    

    sehe leider nix -.- verrats mir, was falsch ist 😛



  • CStoll schrieb:

    Dann solltest du auch darauf achten, was du tatsächlich eingibst.

    ... einliest.



  • Windassel schrieb:

    sehe leider nix -.- verrats mir, was falsch ist 😛

    Das kommt davon, wenn man so nichtssagende Variablennamen verwendet 😃 Du verwendest zweimal die Variable m in deinen scanf()-Aufrufen.



  • Windassel schrieb:

    Hey, fange gerade wieder mit c programmierung an, und frage mich wieso mein compiler das nicht ausgeben kann? oO

    Wieder?

    Für sowas kannst du auch ganz gut einen Debugger nutzen. Hoffe du weißt so etwas schon zu benutzen.
    So bekommt man eigentlich ganz gut seine Fehler raus, sofern man weiß, was man überhaupt machen will. Letzteres scheint ja der Fall zu sein 😉



  • CStoll schrieb:

    Windassel schrieb:

    sehe leider nix -.- verrats mir, was falsch ist 😛

    Das kommt davon, wenn man so nichtssagende Variablennamen verwendet 😃 Du verwendest zweimal die Variable m in deinen scanf()-Aufrufen.

    argggggghh 😃 jetzt auch gesehen -.- 😃 shid 😃 dankee 🙂

    dann hab ich jetzt schon meinen eigenen taschenrechner 😃 😃



  • CStoll schrieb:

    Das kommt davon, wenn man so nichtssagende Variablennamen verwendet

    m, x und b sind eigentlich recht gebräuchlich für eine lineare Gleichung.



  • DaRe schrieb:

    Wieder?

    Für sowas kannst du auch ganz gut einen Debugger nutzen. Hoffe du weißt so etwas schon zu benutzen.
    So bekommt man eigentlich ganz gut seine Fehler raus, sofern man weiß, was man überhaupt machen will. Letzteres scheint ja der Fall zu sein 😉

    Das Forum zu benutzen macht mir aber mehr Freunde, anstatt so nen doofen debugger
    so macht das fehler-ausmärtzen mehr spass 😛



  • Hauptsache du lernst 😉

    Aber ein Debugger ist manchmal auch ganz praktisch.



  • DaRe schrieb:

    Hauptsache du lernst 😉

    Aber ein Debugger ist manchmal auch ganz praktisch.

    stimme ich dir zu 🙂 und danke 🙂



  • DirkB schrieb:

    CStoll schrieb:

    Das kommt davon, wenn man so nichtssagende Variablennamen verwendet

    m, x und b sind eigentlich recht gebräuchlich für eine lineare Gleichung.

    Wenn du das sagst 😃 Trotzdem sind die Zeiten vorbei, wo man mit ein- bis zweibuchstabigen Variablennamen umgehen muß.

    @Windassel: Aber nicht übertreiben - sonst kann es schnell passieren, daß die anderen User das Interesse daran verlieren, dir überhaupt noch zu helfen. C-Lehrbücher (außer es steht J.W. vorne drauf) sind hilfreich, um sich die Grundlagen anzueignen, Compiler und Debugger leisten heutzutage gute Arbeit darin, dir bei der Fehlersuche zu helfen - also nutze sie, bevor du das Forum mit unsinnigen Fragen bombardierst.



  • DirkB schrieb:

    CStoll schrieb:

    Dann solltest du auch darauf achten, was du tatsächlich eingibst.

    ... einliest.

    eintippst
    🙂



  • haha 😃 nein, werd ich schon nicht 🙂 aber fragen kostet ja nix 😛 bemühe mich trotzdem immer, die Lösung vorher zu finden und zu verstehen.



  • Ich hoffe Dir ist klar, dass du hier spätestens wieder schreibst, wenn Du die Division in Deinen Taschenrechner integrieren willst.

    Deine Ergebnisvariable kann nur mit Ganzzahlen umgehen und ab und ab kommt bei einer Division auch schon mal eine Kommazahl heraus...



  • jo das weiß ich. wollte es aber nur erstmal so für den anfang probieren. habs aber auch rausbekommen 😛

    Mal ne Frage...
    ich möchte meinem programm sagen, dass es nun 4 möglichkeiten gibt, wie man weiterfahren könnnte. Drücken sie die 1, 2, 3, 4.
    wenn man die 1 drückt, soll die summe zweier zahlen ausgegeben werden, die man zuvor eingegeben hat, wenn man die 2 drückt soll die differenz ausgegeben werden, bei der 3 der quotient und bei der 4 das produkt. das macht man doch alles mit if-else anweisungen, oder?



  • Entweder if-else oder auf per switch-case.

    (und ich würde die Ein- und Ausgaben außerhalb dieses Entscheidungsblocks durchführen - damit vermeidest du redundanten Code)


Anmelden zum Antworten