[C] Was mache ich falsch?

Pilly

Lt. Commander
Registriert
Juli 2004
Beiträge
1.269
Kann mir jemand sagen, was an folgendem Programm falsch ist?

Code:
/* Zustand von Wasser */
#include <stdio.h>

main() {
       int temp;
       printf("Bitte eine Temperatur (Grad Celsius) eingeben: \n");
       scanf("%i",temp);
       if(temp < -273.15) {
               printf("Temperatur ist physikalisch nicht moeglich.");
       }
       else {
            if(temp <= 0.0) 
                    printf("Wasser gefriert.");
            
            else if(temp >= 100.0) 
                 printf("Wasser verdampft.");
            
            else 
                 printf("Wasser ist fluessig.");
            
             
       }
       printf("\n");
       system("Pause");
       }
 
Vielleicht solltest du uns mitteilen was dein Problem mit dem Programm ist. Eine funktionierende Glaskugel hatte bis jetzt noch keiner ;)
 
7H3 N4C3R schrieb:
Vielleicht solltest du uns mitteilen was dein Problem mit dem Programm ist. Eine funktionierende Glaskugel hatte bis jetzt noch keiner ;)

Das ist eine interessante Theorie, denn ich hab erst letztlich auf dem Wochenmarkt ne Ramba Zamba Frau gesehn die ne Glaskugel in den Händen hielt.

Aber wenn es darum geht Quellcode zu sparen könntest du anstatt 100.0 auch 100 schreiben

gruß Andy
 
Wenn was nicht funktioniert solltest du mal alle warnings an schalten.

Der Fehler liegt in deinem scanf() aufruf. scanf() erwartet eine Adresse.

Adressen bekommt man mit &
 
Das mit den Adressen bei scanf() hatte ich wohl vergessen. Das Programm läuft jetzt.
Vielen Dank!

Pilly
 
Wieso speicherst du die Temperatur als Integer, obwohl du später nach Float Werten fragst?
 
Hatte da erst auch keine float Werte sondern nur integer stehen und habe nachher noch das ".0" hinzugefügt. Dabei habe ich wohl vergessen, den Variablentyp in float oder double zu ändern...

MfG

Pilly
 
Zurück
Oben