1. Weiterleitung zu NetzLiving.de
  2. Forum
    1. Unerledigte Themen
  3. zum neuen Forum
  • Anmelden
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Erweiterte Suche
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

Probleme mit Taschenrechner den ich programmiere fürs Studium

  • sander
  • 27. Oktober 2012 um 22:20
  • Unerledigt
Hallo zusammen,

das Informatik-Forum geht in den Archivmodus, genaue Informationen kann man der entsprechenden Ankündigung entnehmen. Als Dankeschön für die Treue bekommt man von uns einen Gutscheincode (informatikforum30) womit man bei netzliving.de 30% auf das erste Jahr sparen kann. (Genaue Infos sind ebenfalls in der Ankündigung)

Vielen Dank für die Treue und das Verständnis!
  • sander
    Punkte
    20
    Beiträge
    3
    • 27. Oktober 2012 um 22:20
    • #1

    Hallo,

    ich frage nach dem Operator doch ich kann keine eingeben, da er die Abfrage direkt überspringt. Schreibe das Programm in C. Kann mir wer helfen?

    #include <stdio.h>

    int main()
    {
    double z1=0;
    double z2=0;
    double z3=0;
    char z;

    printf("Geben Sie die erste Zahl ein:");
    scanf("%lf", &z1);

    printf("Geben Sie die zweite Zahl ein:");
    scanf("%lf", &z2);

    printf("Geben Sie den Operator an");
    getchar();


    switch(z)
    {
    case '-':z3=z1-z2;
    printf("Ergebnis ist: %lf",z3);

    case '*':z3=z1*z2;
    printf("Ergebnis ist: %lf",z3);

    case '+':z3=z1+z2;
    printf("Ergebnis ist: %lf",z3);

    case '/':z3=z1/z2;
    printf("Ergebnis ist: %lf",z3);


    }

    }

    Bitte um Hilfe

    Gruß

    2 Mal editiert, zuletzt von sander (27. Oktober 2012 um 22:29)

  • emptyvi
    Punkte
    2.037
    Beiträge
    374
    • 27. Oktober 2012 um 22:34
    • #2

    Kenne mich nicht wirklich gut mit C aus.. Trotzdem, meine Vermutung: Du hast vom scanf davor noch ein Newline drin, und getchar() nimmt einfach dieses Newline. Versuch mal, zweimal getChar() aufzurufen. (Btw. hast du keine Zuweisung zu z dort, und bei switch gehört glaube ich ein break rein, da er sonst alles ab dem passenden case-Operator ausführt.

    l.g.

  • pernhard
    Punkte
    1.269
    Beiträge
    244
    • 27. Oktober 2012 um 23:45
    • #3

    habs gerade ausprobiert, die 2 tips vom emptyivi sind richtig und führen zum ziel.

  • sander
    Punkte
    20
    Beiträge
    3
    • 28. Oktober 2012 um 00:26
    • #4

    Ich weiß nur nicht wie ich in getchar() die variable deklarieren soll. Kann mir wer dort ein Tipp geben?
    ich habe char z; deklariert nur wenn ich es so schreibe getchar(z) dann kommt ein error

  • emptyvi
    Punkte
    2.037
    Beiträge
    374
    • 28. Oktober 2012 um 00:27
    • #5
    Zitat von sander

    Ich weiß nur nicht wie ich in getchar() die variable deklarieren soll. Kann mir wer dort ein Tipp geben?
    ich habe char z; deklariert nur wenn ich es so schreibe getchar(z) dann kommt ein error

    z = getchar();

  • sander
    Punkte
    20
    Beiträge
    3
    • 28. Oktober 2012 um 00:30
    • #6

    Zu den newlines. Wie bekomme ich die denn raus? ich habe das doch schon durch die static double abgesichert oder nicht?

    EDIT:DANKE FUNKTIONIERT EINWANDFREI
    Danke an die HILFE!

  • Maximilian Rupp 27. Dezember 2024 um 00:26

    Hat das Thema aus dem Forum Programmieren nach Entwicklung verschoben.

  1. Datenschutzerklärung
  2. Impressum