[C/C++] kleiner Fehler, aber wo ?

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von »The Gr4ndp4, 9. Februar 2009 .

Schlagworte:
Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen
  1. #1 9. Februar 2009
    kleiner Fehler, aber wo ?

    Hallo, ich bin nicht gerade ein Ass im Programmieren, ich habe hier ein kleines Programm gemacht, finde den Fehler aber nicht, wenn er das ergebniss ausgibt, kommt immer "0.0000"

    Code:
    
    
    #include <stdio.h>
    #include <math.h>
    
    
    int main ()
    
    {
     
     int a,b;
     char c;
     float d;
     printf("Bitte geben Sie den Wert ein:");
     scanf("%d",&a); 
     getchar(); 
     
     printf("Bitte geben Sie den 2.Wert ein:");
     scanf("%d",&b); 
     getchar(); 
     
     printf("Wählen Sie zwischen +, -, *, /:");
     scanf("%c",&c); 
     getchar();
     
     if(c=='+')
     {
     d=a+b;
     printf("Ergebnis Addition: %2.4f",&d);
     }
     else if (c=='-') 
     {
     d=a-b;
     printf("Ergebnis Subtraktion: %4.2f",&d); 
     } 
     else if (c=='*') 
     {
     d=a*b;
     printf("Ergebnis Multiplikation: %4.2f",&d); 
     } 
     else if (c=='/') 
     {
     d=a/b;
     printf("Ergebnis Division: %4.2f",&d); 
     }
     else 
     {
    
     printf("Falscher Rechenoperator"); 
     }
     
    getchar(); 
    return 0; 
    }
     
    
    
     

  2. Anzeige
  3. #2 9. Februar 2009
    AW: kleiner Fehler, aber wo ?

    bin mir da zwar echt nicht sicher, meine c/c++ zeit liegt lange zurück, aber wenn du 2 integerwerte zusammenrechnest, dividierst etc. und auf nen float zuweisen willst geht das mMn. nicht (ohne cast). ändere einfach mal int a,b; in float a,b; um, um diese möglichkeit auszuschließen.

    wie gesagt nur ein erster eindruck vom schnellen überfliegen;)
     
  4. #3 9. Februar 2009
    AW: kleiner Fehler, aber wo ?

    Hey, danke erstmal

    ich habe die int werte in float geändert, nur der Fehler ist trotzdem noch vorhanden:(

    trotzdem danke
     
  5. #4 9. Februar 2009
    AW: kleiner Fehler, aber wo ?

    hast du im scanf auch %d auf %f umgeändert beim einlesen von a & b ? bei mir funktsionierts nämlich ;)
     
  6. #5 9. Februar 2009
    AW: kleiner Fehler, aber wo ?

    mhh ja habe ich, kann es damit zusammen hängen das ich hier noch auf WIN 98 arbeite eig nicht oder, was für nen Compiler benuzt du, ich habe DEV C++.
     
  7. #6 9. Februar 2009
    AW: kleiner Fehler, aber wo ?

    VS 2005;

    hier dein abgeänderter code:

    Code:
    #include <stdio.h>
    #include <math.h>
    
    
    int main ()
    
    {
     
     float a,b;
     char c;
     float d;
     printf("Bitte geben Sie den Wert ein:");
     scanf("%f",&a); 
     getchar(); 
     
     printf("Bitte geben Sie den 2.Wert ein:");
     scanf("%f",&b); 
     getchar(); 
     
     printf("Wählen Sie zwischen +, -, *, /:");
     scanf("%c",&c); 
     getchar();
     
     if(c=='+')
     {
     d=a+b;
     printf("Ergebnis Addition: %f",d);
     }
     else if (c=='-') 
     {
     d=a-b;
     printf("Ergebnis Subtraktion: %4.2f",&d); 
     } 
     else if (c=='*') 
     {
     d=a*b;
     printf("Ergebnis Multiplikation: %4.2f",&d); 
     } 
     else if (c=='/') 
     {
     d=a/b;
     printf("Ergebnis Division: %4.2f",&d); 
     }
     else 
     {
    
     printf("Falscher Rechenoperator"); 
     }
     
    getchar(); 
    return 0; 
    }
    
     
  8. #7 9. Februar 2009
    AW: kleiner Fehler, aber wo ?

    Ok ich habe den Fehler gefunden, das kaufmänische und =) Danke nochmal

    CLOSED
     

  9. Videos zum Thema
Die Seite wird geladen...
Similar Threads - C++ kleiner Fehler
  1. Antworten:
    3
    Aufrufe:
    729
  2. Antworten:
    2
    Aufrufe:
    709
  3. Antworten:
    4
    Aufrufe:
    1.298
  4. Antworten:
    1
    Aufrufe:
    2.042
  5. Antworten:
    1
    Aufrufe:
    1.561