C# Fahrenheit und Celcius umrechnen

Dieses Thema im Forum "C/C++" wurde erstellt von kristian, 10.01.2009.

  1. #1 kristian, 10.01.2009
    kristian

    kristian Mitglied

    Dabei seit:
    20.05.2007
    Beiträge:
    43
    Zustimmungen:
    0
    Hallo!
    Habe ein kleines Problem... hoffe es gibt auch Leute die C# können(Ich lerne es in der Schule...)!
    Auf das Programm hat mich meine Physik-Lehrerin gebracht. Es soll entweder von Celcius auf Fahrenheit oder von Fahrenheit auf Celcius umrechen, je nachdem was man eingibt.
    Die Formel zur Umrechnung sollte stimmen, jedoch kommt nur Blödsinn heraus...
    Weiss vl. jem. wo der Fehler liegt?

    Code:
    using System;
    
    public class Fahrenheit_Celcius
    {
        static void Main()
        {
            double temp_anfang, temp_ende;
            string einheit, nochmal;
            bool NochmalBerechnen = true;
    
            Console.WriteLine("Hallo!");
            Console.WriteLine();
    
            do
            {
                Console.Write("Welche Einheit hat der erste Wert?F/C: ");
                einheit = Console.ReadLine();
    
                if (einheit == "C")
                {
                    Console.Write("Wieviel °Celcius hat es?: ");
                    temp_anfang = Double.Parse(Console.ReadLine());
    
                    temp_ende = 5 / 9 * (temp_anfang - 32);
    
                    Console.WriteLine("{0}°C entsprechen {1}°F", temp_anfang, temp_ende);
                }
                else
                {
                    Console.WriteLine("Wieviel °Fahrenheit hat es?: ");
                    temp_anfang = Double.Parse(Console.ReadLine());
    
                    temp_ende = temp_anfang * 1.8 + 32;
    
                    Console.WriteLine("{0}°F entsprechen {1}°C", temp_anfang, temp_ende);
                }
                Console.Write("Wollen Sie noch einen Wert umrechnen?j/n: ");
                nochmal = Console.ReadLine();
                if (nochmal != "j")
                {
                    NochmalBerechnen = false;
                }
    
            }
    
            while (NochmalBerechnen == true);
    
        }
    }
    Ich möchte noch anmerken, dass wir meiner Meinung nach, noch nicht wirklich viel gelernt haben...Es ist jetzt das zweite Jahr indem wir C# lernen...

    Danke im Vorraus
    mfg
    kristian
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. Dizzy

    Dizzy Brain Damage

    Dabei seit:
    02.05.2007
    Beiträge:
    857
    Zustimmungen:
    0
    Ort:
    Graz
    Hi,

    für 2 Jahre Programmieren in C# ist das meiner Meinung nach sehr dürftig, wir haben ähnliche Beispiele zum Anfang gehabt.

    Ich finde es auch ein wenig umständlich gecodet, aber das dürfte Geschmackssache sein.

    Ich vermute, dass es nicht geht, weil du es "Celcius" nennst, der Compiler stellt sich hier wohl quer. ;P

    Scherz, die Formeln sind falsch:
    Celsius in Fahrenheit = (( TCelsius × 9 ) / 5 ) + 32
    Fahrenheit in Celsius = ( TFahrenheit - 32 ) × 5 / 9

    Auch wäre es praktisch, wenn du zur Überprüfung den Inhalt der Variable einheit mit ToUpper() oder ToLower() behandelst, ansonsten hast du das Problem, dass die Eingabe eines kleinen Cs dazu führt, dass der Benutzer die Einheit in Fahrenheit angibt.
     
  4. #3 kristian, 10.01.2009
    kristian

    kristian Mitglied

    Dabei seit:
    20.05.2007
    Beiträge:
    43
    Zustimmungen:
    0
    Hallo!

    Danke für die schnelle Hilfe und den Tipp mit ToUpper() und ToLower()! Hat mich eh gestört, hab mir aber nicht so den Kopf zerbrochen deswegen :)

    Ich glaub das im ersten Post kann man leicht missverstehen. Im Moment machen wir etwas anderes in C#. Nämlich soweit ich mich errinnern kann(Ferien...) Strukturen. Meine Physik Lehrerin hat mich nur auf die Idee gebracht, dass wir mit unserem Wissen so eine Umrechnung auch schon schreiben könnten...

    Also Danke nochmal!
    mfg
    kristian
     
  5. Dizzy

    Dizzy Brain Damage

    Dabei seit:
    02.05.2007
    Beiträge:
    857
    Zustimmungen:
    0
    Ort:
    Graz
    Freut mich ... öhm, geht's jetzt auch?
     
  6. #5 kristian, 10.01.2009
    kristian

    kristian Mitglied

    Dabei seit:
    20.05.2007
    Beiträge:
    43
    Zustimmungen:
    0
    Ja klar :)
    weiß zwar nicht ob das jetzt die die es wirklich können ;) auch so machen würden, aber das was ich will geht!
    Code:
    using System;
    
    public class Fahrenheit_Celcius
    {
        static void Main()
        {
            double temp_anfang, temp_ende;
            string einheit, nochmal;
            bool NochmalBerechnen = true;
    
            Console.WriteLine("Hallo!");
            Console.WriteLine();
    
            do
            {
                Console.Write("Welche Einheit hat der erste Wert?F/C: ");
                einheit = Console.ReadLine().ToUpper();
    
                if (einheit == "C")
                {
                    Console.Write("Wieviel °Celcius hat es?: ");
                    temp_anfang = Double.Parse(Console.ReadLine());
    
                    temp_ende = ((temp_anfang * 9) / 5) + 32;
    
                    Console.WriteLine("{0}°C entsprechen {1}°F", temp_anfang, temp_ende);
                    Console.WriteLine();
                }
                else
                {
                    Console.Write("Wieviel °Fahrenheit hat es?: ");
                    temp_anfang = Double.Parse(Console.ReadLine());
    
                    temp_ende = (temp_anfang - 32) * 5 / 9;
    
                    Console.WriteLine("{0}°F entsprechen {1}°C", temp_anfang, temp_ende);
                    Console.WriteLine();
                }
                Console.Write("Wollen Sie noch einen Wert umrechnen?J/N: ");
                nochmal = Console.ReadLine().ToLower();
                Console.WriteLine();
    
                if (nochmal != "j")
                {
                    NochmalBerechnen = false;
                }
    
            }
    
            while (NochmalBerechnen == true);
    
        }
    }
     
  7. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  8. #6 T-Virus, 10.01.2009
    T-Virus

    T-Virus Free Software Fan :p

    Dabei seit:
    06.01.2009
    Beiträge:
    107
    Zustimmungen:
    0
    Hallo,
    du könntest deinen Code mal etwas säubern ^^
    Du kannst z.b. solche Konstrukte weg lassen:

    Code:
    if(bla == true)    //verständlich aber nicht kurz
    while(bla == true)    //wie bei if.
    
    Auch kannst den Inhalt deiner if/else Blöcke in Methoden auslagern.
    Somit kannst du deine Main Methode kürzen und verkleinern.

    Desweiteren solltest du dir abgewöhnen, Variablen vom selben Typ in einer Reihe zu deklarieren.

    Code:
    double bla, blub, knm;
    
    Sowas ist meiner, und der Meinung vieler Entwickler, sehr unschön.
    Mach es wie bei einer Liste und deklariere untereinander.

    Auch solltest du jede Variable beim deklarieren initialisieren.
    Wobei manchmal eine Ausnahme gemacht wird, wenn man z.b. auf null prüfen will oder in anderen Fällen.

    Ich werde Morgen mal deinen Code etwas aufräumen, damit du einen kleinen Einstieg zur Optimierung bekommst.

    T-Virus
     
  9. #7 ./pat, 11.01.2009
    Zuletzt bearbeitet: 11.01.2009
    ./pat

    ./pat Mitglied

    Dabei seit:
    04.12.2008
    Beiträge:
    33
    Zustimmungen:
    0
    Ort:
    NRW
    Was ist an If- und Whileschleifen auszusetzen?
    Oder war das jetzt auf's true bezogen?

    Macht nur Sinn wenn es sich um andere Typen handelt oder andere Werte, wenn alle den selben Wert haben sollen beim selben Typen, ist es schon okay wie er es gemacht hat.

    Nö.
     
Thema: C# Fahrenheit und Celcius umrechnen
Besucher kamen mit folgenden Suchen
  1. Umrechnung celsius fahrenheit while schleife

    ,
  2. celsius in fahrenheit umrechnen c

    ,
  3. c sharp umrechner grad fahrenheit

    ,
  4. c sharp umrechnet grad fahrenheit
Die Seite wird geladen...

C# Fahrenheit und Celcius umrechnen - Ähnliche Themen

  1. Fahrenheit: Indigo Prophecy Remastered für Linux erschienen

    Fahrenheit: Indigo Prophecy Remastered für Linux erschienen: Die deutsche Download-Version von Fahrenheit: Indigo Prophecy Remastered ist ab sofort für Linux, Mac OS X und MS Windows erhältlich. Weiterlesen...
  2. wine + Fahrenheit

    wine + Fahrenheit: hi, ich wollte fahrenheit mit wine spielen. Bisher leuft das Spiel bis zu dem Punkt wo der Benutzer die Interaktion aufnimmt, also nach dem...