C for Schleife?

... komplette Frage anzeigen

2 Antworten

void Spiel()

{

printf("###Taschenrechner###");

printf("\\n\\n\\nBitte erste Zahl eingeben:\\n");

scanf("%f",&Z1);

/* Ich habe das d (decimal integer) durch ein f (floating point number) ersetzt damit das Programm auch mit Dezimalbrüchen klarkommt */

printf("\\n\\nBitte zweite Zahl eingeben:\\n");

scanf("%f",&Z2);

/* ebenfalls d durch f ersetzt */

printf("\\n\\nBitte Rechenoperationeingeben:\\n");

scanf("%c",&Rechenoperation);

/* Ich habe den Variabeltyp auf char geändert, d (decimal integer) und f (floating point number) kennen keine Zeichen wie +,-,*,/. */

if(Rechenoperation == "+")

/* Bei einem char ist es nötig, das Zeichen in Anführungszeichen zu setzten damit das Programm es korrekt erkennt (und nicht mit einem Befehl verwechselt) */

{ erg = Z1 + Z2; }

if(Rechenoperation == "-")

/* Anführungszeichen /*

{ erg = Z1 - Z2; }

if(Rechenoperation == "*")

/* Anführungszeichen /*

{ erg = Z1*Z2; }

if(Rechenoperation == "/")

/* Anführungszeichen /*

{ erg = Z1/Z2; }

}

Versuch das mal. Habe schon lange kein C mehr programmiert, kann also sein dass ich was übersehen habe

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von C17Freak
28.01.2016, 06:24

Danke, ich werde es versuchen

0

Ist das Problem, dass es nicht kompiliert?

Versuch zunächst mal folgendes, damit +-*/ nicht als operatoren gelesen werden:


if(Rechenoperation == '+')

Außerdem würde ich eine while(continue == true) schleife verwenden und ein Prompt einbauen, das es auf false setzen kann. For wird verwendet, wenn die Anzahl der Wiederholungen zur Laufzeit bekannt ist.

Antwort bewerten Vielen Dank für Deine Bewertung