Rechner will nicht



  • Klappt immer noch nicht.Mit denn Returns weiß ich nicht wo die denn hinsollen?
    😞

    mfg.
    Stefan



  • Stefan311 schrieb:

    Klappt immer noch nicht.

    Was klappt immer noch nicht? Hast du masterofx32's ersten Hinweis beachtet und überall deine scanf()-Funktionen entsprechend überarbeitet?

    Mit denn Returns weiß ich nicht wo die denn hinsollen?
    😞

    int main()
    {
          // dein Code...
    
          return 0;
    }
    
    // ...
    
    int rechner()
    {
          // dein Code ...
    
          return 0;
    }
    

    Wobei du die 'rechner()'-Funktion genauso gut auch vom Typ void machen kannst, da bei deiner Implementation kein Return-Wert benötigt wird...

    Caipi



  • Ich benutze Devcpp.
    Gut das mit dem Zeiger hinsetzen hab ich gemach.Muss ich den eigentlich declarieren oder ähnliches(den zeiger).
    Returns hab ich gemacht klappt leider immer noch nicht.



  • Stefan311 schrieb:

    Ich benutze Devcpp.
    Gut das mit dem Zeiger hinsetzen hab ich gemach.Muss ich den eigentlich declarieren oder ähnliches(den zeiger).

    Ich glaube du solltest dir die Funktion scanf() nochmal ganz genau anschauen. Denn wie bereits erwähnt, scanf() erwartet die Adresse der Variablen in der du die Eingabe abspeichern möchtest.

    D.h. ändere jedes scanf() von

    scanf("%d", deine_variable); // das ist falsch! - scanf erwartet Zeiger
    

    in

    scanf("%d", &deine_variable); // beachte: das einzig neue ist das & (der Adressoperator)
    

    Caipi



  • Es klappt danke.
    Jetzt hab ich ein anderes Problem und zwar rechnet er 1+1=229......
    Warum macht er das?



  • Ups hat sich von selbst erledigt.War nur eine falsche Variable.



  • hi,

    Stefan311 schrieb:

    a=0;
    a=zahl1+zahl2;

    das is auch ein bisschen überflüssig ;).

    gruß, mata



  • Hab ich schon längst weggemacht der neue Quellcode sieht so aus:

    #include <stdio.h>
    #include <stdlib.h>
    #include <conio.h>
    
    int anfang();
    int rechner();
    
    int main()
    {
    
      printf("V0.1\n\n\n");
      getch();
      anfang();
    return 0;
    }
    
    int anfang()
    {
        int c;
        printf("Was wollen sie machen?\n1 Rechnen\n2 Ende\n");
    
        scanf("%d", &c);
        if(c==1)
        {
        rechner();
    
    }
        else
       { 
        return 0;
    }
    }
    
    int rechner(void)
    {
        int zahl1, zahl2, a, s;
        cheese:
        printf("\n1 Addition(plusrechnen)\n2 Suptration(minusrechnen)\n");
        scanf("%d", &a);
        if(a==1)
        {
                printf("\nErste Zahl= ");
                scanf("%d",&zahl1);
    
                printf("\nZweite Zahl= ");
                scanf("%d",&zahl2);
    
                s=zahl1+zahl2;
        }
        else if(a==2)
        {
              printf("\nErste Zahl= ");
                scanf("%d", &zahl1);
    
                printf("\nZweite Zahl= ");
                scanf("%d", &zahl2);
    
                s=zahl1-zahl2;  
        }
        else
        {
            printf("\n?\n");
            goto cheese;
        }
        printf("Ergebniss= %d\n",s);
    
        anfang();
    return 0;
    }
    


  • Noch eins: Subtraktion bitte mit 'b'.



  • Danke für Hinweiß.
    mfg.
    Stefan


Anmelden zum Antworten