probleme mit taschenrechner



  • chille07 schrieb:

    wenigstens hat ers versucht...
    und dann hilft ihm dein Ratschlag auch nicht weiter...
    (einrücken)

    Ich hab auch nicht für diesen Code gemeint, sondern im allgemeinen. Ich sehe hier, dass viele den Code posten und der ist nicht eingerückt. Ist sicherlich dem Compiler egal, ob der Code eingerückt ist oder nicht, aber wir sind eben Menschen und keine Compiler.



  • supertux schrieb:

    aber wir sind eben Menschen und keine Compiler.

    Das ist eigentlich ein Spruch für ne Signatur... 😉



  • [quote="C-Progger"]ich habe versucht einen kleinen taschenrechner zu schreiben und bekomme immer massig fehlermeldungen.

    könnt ihr mir sagen was da alles falsch ist?

    ich habe eine andere Idee, das Problem des Taschenrechner zu lösen, und zwar mit 3 Funktionen und eine Switch, case Methode

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

    float Add(float, float);//Funtion für Addition
    float Dev(float, float);// F. für Devision
    float Mult(float, float);// Multiplikation

    int main()
    {
    float a, b;
    printf("1. Zahl: ");
    scanf("%g", &a);
    printf("2. Zahl: ");
    scanf("%g", &b);
    while(getchar != '\n');// versuch mal ohne dieser
    // Zeile das Programm auszuführen,
    char wahl;
    printf(".......................Tachenrechner..........................\n");
    printf("Bitte waehlen: \n\ta:Addition \n\tm:Multiplikation \n\td: Devision\n");
    scanf("%c",&wahl);
    switch(wahl)
    {
    case 'a': printf("Die Addition von %g und %g ist %g \n",a,b,Add(a,b));
    break;
    case 'm': printf("Die Multp. von %g und %g ist %g \n",a,b,Mult(a,b));
    break;
    case 'd': printf("Die Devision von %g durch %g ist %g \n",a,b,Dev(a,b));
    break;
    default: printf("Leider habe Sie eine falsche Eingabe eingegeben!!!\n");
    }
    return 0;
    } //Ende main Funktion

    float Add(float x, float y)
    {
    return(x+y);
    }
    float Mult(float x, float y)
    {
    return (x*y);
    }
    float Dev(float x, float y)
    {
    if (y == 0)
    {
    printf("\nDie Devision durch 0 ist nicht bekannt oder nicht zulässig!!!n");
    exit(0);
    }
    else
    return (x/y);
    }



  • So müsste es gehen:

    #include<stdio.h>
    /* math.h unnötig */
    
    float Add(float, float); /* Funtion für Addition */
    float Div(float, float); /* F. für Division <-- Rechtschraipfeler */
    float Mult(float, float); /* Multiplikation */
    
    int main() {
      float a, b;
      printf("1. Zahl: ");
      scanf("%g", &a);
      printf("2. Zahl: ");
      scanf("%g", &b);
    
      while(getchar() != '\n'); /* <-- () vergessen */
    
      char wahl;
      printf(".......................Tachenrechner..........................\n");
      printf("Bitte waehlen: \n\ta:Addition \n\tm:Multiplikation \n\td: Devision\n");
      scanf("%c", &wahl);
      switch(wahl) {
      case 'a': 
        printf("Die Addition von %g und %g ist %g \n", a, b, Add(a, b));
        break;
      case 'm': 
        printf("Die Multp. von %g und %g ist %g \n", a, b, Mult(a, b));
        break;
      case 'd': 
        printf("Die Devision von %g durch %g ist %g \n", a, b, Div(a, b));
        break;
      default: 
        printf("Leider habe Sie eine falsche Eingabe eingegeben!\n"); /* <-- zu viele Ausrufungszeichen. */
      }
      return 0;
    } //Ende main Funktion
    
    float Add(float x, float y) {
      return(x+y);
    }
    
    float Mult(float x, float y) {
      return (x*y);
    }
    
    float Div(float x, float y) {
      if (y == 0) {
        printf("\nDie Devision durch 0 ist nicht zulässig!n"); /* <-- nicht zulässig, zu viele Ausrufungszeichen. */
        exit(0);
      } else
        return (x/y);
    }
    


  • CarstenJ schrieb:

    supertux schrieb:

    aber wir sind eben Menschen und keine Compiler.

    Das ist eigentlich ein Spruch für ne Signatur... 😉

    Tja, eingentlich schon. Ich hab einmal den gleichen Satz im ersten Semester als wir uns gestritten haben, ob man sagen darf "der Compiler liest zeilenweise".

    0Xdeadbeef schrieb:

    float Div(float, float); /* F. für Division <-- Rechtschraipfeler */

    hey beefy, da hast du ein einen rechtSchraipheler 😃


Anmelden zum Antworten