Programmieren anfänger was mach ich falsch?

hallo,

wollte ein kleines programm schreiben was mir sagt ob wasser verdampft oder gefriert oder sonstwas.
nunja hier ma so ein kleiner anfang, nur das programm gibt mir imma am ende an das, das wasser flüssig bleibt egal welche zahl ich eintippe.

hier der quellcode

Code:
/*Temperaturunterschiede*/

#include<stdio.h>

main() {
       
       int temperatur=0, eingabe;
       printf("\nBitte geben sie eine Teperatur ein  ");
       scanf("i%\n", &eingabe);
       fflush(stdin);
       
       if(eingabe < temperatur)
       printf("\n Das wasser Gefriert");
       
       else if(eingabe > temperatur)
       printf("\n Das Wasser bleibt flüssig");
       
       else if(eingabe > 100)
       printf("Das Wasser verdampft");
       
       getchar();
       getchar();
       
       }

ich hoffe ihr helft einem anfänger weiter vielen dank :)
 
Du solltest
Code:
scanf("i%\n", &eingabe);
zu
Code:
scanf("%i\n", &eingabe);
ändern.
 
Hallo,
hmm evt:
scanf("i%\n", &eingabe);
fflush(stdin);

Sollte auch einem Anfänger auffallen ;)

PS: Wasser gefriet nicht bei 0 Grad Celisus, sondern Eis taut ab dieser Temperatur.
Damit Wasser gerfriet, benötigt es eine Kristallstruktur auf der dann die Eiskristalle entstehen können. Ist solch eine Kristallstruktur nicht vorhanden, kann Wasser durchaus auch Minus-Grade haben, bis zu -40°
Dies nennt man Unterkühlung

Aber dass nur am Rande ;)
 
Das mit denn werten war einfach nur so eigegeben wollte erstma nur irgendwelche zahlen eintippen^^ aba danke für die anderen tipps stimmt hätte mir echt auffallen sollen vielen dank :)

hmm nur jetz tipp ich ne zahl ein und das programm bleibt einfach stehen nachdem ich die zahl eingtippt habe hmm :(
 
mehrmals Enter betätigen oder das \n aus
Code:
scanf("%i\n", &eingabe);
entfernen. Sonst wartet er auf zwei Zeilenumbrüche ;)
 
Zurück
Oben