[C/C++] Datentyp Umwandlung

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von Korllino, 3. Juni 2007 .

Schlagworte:
Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 3. Juni 2007
    Datentyp Umwandlung

    Hallo,

    ich Code noch nicht lange C, daher ist der Quelltext etwas easy

    Code:
    #include <stdio.h>
    int main ()
    {
     int a,b;
     char opera;
     printf("Grundrechnen \n");
     printf("(zahl)(Operator)(zahl) ohne Leerzeichen \n");
    
     printf("Rechnung bitte eingeben: ");
     scanf("%d%c%d",&a,&opera,&b);
     
     switch(opera) {
     case '+':
     printf("%d + %d = %d\n",a,b,a+b);
     break;
     case '-':
     printf("%d - %d = %d\n",a,b,a-b);
     break;
     case '*':
     printf("%d * %d = %d\n",a,b,a*b);
     break;
     case '/':
     printf("%d / %d = %d\n",a,b,a/b);
     break;
     default:
     printf("%c? Kein Rechenoperator!\n",opera);
     }
     return 0;
    }
    Aber ich hab eine Frage.
    Und zwar will ich das bei der Division ein genauerer Wert herrauskommt, daher muss ich Typumwandlung machen.

    Da hab ich mir gedacht, ich schreibe das im Case '/' so um:
    Code:
    printf("%d / %d = %d\n",a,b,(float)a/(float)b);
    Aber das geht nicht. Kann mir vll. einer helfen, und sagen wie ich den Datentyp jetzt in dem Case Abschnitt änder?
     
  2. 3. Juni 2007
    AW: Datentyp Umwandlung

    Die Typenumwandlung ist schon richtig, allerdings musst du den printf()-Befehl noch abändern. %d nimmt ja nur Integerwerte entgegen, durch die Division hast du aber n Float-Wert. Deshalb musste das letzte %d durch %f ersetzen.
    Die Zeile heißt dann:

    Code:
    printf("%d / %d = %f\n",a,b,(float)a/b);
    MfG
    PhoeNox
     
  3. 3. Juni 2007
    AW: Datentyp Umwandlung

    Dein Printf ist falsch ^^

    printf("%d/%d=%f\n",a,b,(float)a/b);

    ok da war jemand schneller ^^
     
  4. 3. Juni 2007
    AW: Datentyp Umwandlung

    Acso, ok, danke für die Hilfe, bekommt auch ein kl. Renomee
     
  5. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.