C# :: Aufgabe #245
8 Lösungen

Celsius und Fahrenheit Rechner
Anfänger - C#
von Gelöschte Person
- 31.03.2019 um 15:41 Uhr
Schreibe ein Programm das Celsius in Fahrenheit umrechnet und umgekehrt.
Lösungen:

using System; using System.Net.Http.Headers; using System.Text.RegularExpressions; using NUnit.Framework; namespace Fahrenheit_Celsius_Converter { [TestFixture] class Converter { [Test] [TestCase(32, ExpectedResult = 0)] [TestCase(392, ExpectedResult = 200)] public double TestConvertFtoC(double value) { return convertFtoC(value); } [Test] [TestCase(0, ExpectedResult = 32)] [TestCase(200, ExpectedResult = 392)] public double TestConvertCtoF(double value) { return convertCtoF(value); } public double convertFtoC(double value) { return Math.Round((value -32) / 1.8,2); } public double convertCtoF(double value) { return Math.Round((value * 1.8) +32,2); } } }

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace celsiusfahreheit { class Program { static void Main(string[] args) { Console.WriteLine("Für Celius in Fahreheit C, Für Fahrenheit in Celsius F"); string skala = Console.ReadLine(); if (skala == "C") { Console.WriteLine("Bitte Temperatur eingeben"); double temperatur = Convert.ToDouble(Console.ReadLine()); Console.WriteLine(temperatur + " Grad Celsius entspricht " + (temperatur * 9 / 5 + 32) + " Grad Fahrenheit"); } else if(skala == "F") { Console.WriteLine("Bitte Temperatur eingeben"); double temperatur = Convert.ToDouble(Console.ReadLine()); Console.WriteLine(temperatur + " Grad Fahrenheit entspricht " + (temperatur - 32) * 5 / 9 + " Grad Celsius"); } Console.ReadLine(); } } }

using System; namespace Celcius_Rechner { class Program { static void Main(string[] args) { int i = 0; Console.WriteLine("Herzliche Willkommen zu dem Celcius zu Fahrenheit Rechner."); Console.WriteLine("Bitte Gebe immer die Einheiten mit an damit das Programm Weiß was es zu was umrechnen muss\nAlso für 25 Grad Celcius 25°C und für Fahrenheit das gleiche Nur mit F!"); Eingabe(); while (i == 0) { Console.WriteLine("Möchtest du noch was umrechnen?\nWenn ja geb einfach wieder eine Temperatur ein!.\nWenn nicht drücke einfach Enter!"); Eingabe(); } } static void Eingabe() { Console.WriteLine("Nun gib bitte die Gradzahl ein die du umrechnen willst..."); float eingabe, ergebnis; string hilf; string grad; hilf = Console.ReadLine(); if(hilf == "") { Console.Clear(); Console.WriteLine("Bis Bald!"); System.Threading.Thread.Sleep(1000); Environment.Exit(0); } Console.Clear(); if(hilf.Length - 1 < 1 || hilf.Length - 2 < 1) { Beenden(1); } grad = hilf.Substring(hilf.Length - 1); hilf = hilf.Substring( 0, hilf.Length - 2); eingabe = Convert.ToInt32(hilf); ergebnis = Berechnung(eingabe, grad); if (grad == "C" || grad == "F") { if(grad == "C") Console.WriteLine("{0}°C sind {1}°F ",eingabe, ergebnis); else if(grad == "F") Console.WriteLine("{0}°F sind {1}°C ", eingabe, ergebnis); } } static float Berechnung(float eingabe, string grad) { float ergebnis = 0; switch(grad) { case "C": ergebnis = (eingabe * (9 / 5)) + 32; break; case "F": ergebnis = (eingabe - 32) * (5f / 9f); break; default: Beenden(2); break; } return ergebnis; } static void Beenden(int code) { Console.Clear(); Console.ForegroundColor = ConsoleColor.Red; switch(code) { case 1: Console.WriteLine("Die Eingabe ist Fehlerhaft.\nProgramm wird beendet!"); break; case 2: Console.WriteLine("Bei der Eingabe sind keine Einheiten dabei.\nProgramm wird beendet!"); break; } System.Threading.Thread.Sleep(2000); Environment.Exit(0); } } }

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Trainf { class Program { public static double TempRechnerFahrenheitCelsius(double temperatur) { return (temperatur - 32) * (5.0 / 9.0); } public static double TempRechnerCelsiusFahrenheit(double temperatur) { return temperatur * 9.0 / 5.0 + 32; } static void Main(string[] args) { Console.WriteLine("Für Fahrenheit in Celsius 1 eingeben"); Console.WriteLine("Für Celsius in Fahrenheit 2 eingeben"); byte eingabe = byte.Parse(Console.ReadLine()); if (eingabe == 1) { Console.WriteLine("Geben sie die Temperatur ein"); double temp = double.Parse(Console.ReadLine()); double fahrincels = TempRechnerFahrenheitCelsius(temp); Console.WriteLine(temp + " Fahrenheit = " + fahrincels + " Celsius "); } if (eingabe == 2) { Console.WriteLine("Geben sie die Temperatur ein"); double temp = double.Parse(Console.ReadLine()); double celsinfahr = TempRechnerCelsiusFahrenheit(temp); Console.WriteLine(temp + " Celsiu = " + celsinfahr + " Fahrenheit "); } Console.ReadLine(); } } }

using System; namespace Temperatur_Umrechnung { class Program { static void Main(string[] args) { Console.WriteLine("Programm zur Umrechnung von Temperaturskalen"); Console.WriteLine(""); char Wiederholung; double Auswahl = 0; double Kelvin = 0; double Celsius = 0; double Fahrenheit = 0; do { Console.WriteLine(""); Console.WriteLine("Bitte geben Sie die Ausgangsskala an"); Console.WriteLine(""); Console.WriteLine("1 = Kelvin"); Console.WriteLine("2 = Celsius"); Console.WriteLine("3 = Fahrenheit"); Auswahl = double.Parse(Console.ReadLine()); switch (Auswahl) { case 1: Console.WriteLine("Bitte geben Sie die Temperatur in Kelvin ein"); Kelvin = double.Parse(Console.ReadLine()); Celsius = Kelvin - 273.15; Fahrenheit = Kelvin * 1.8 - 459.67; Console.WriteLine("Diese Temperatur entspricht {0} °Celsius", Celsius); Console.WriteLine("Diese Temperatur entspricht {0} °Fahrenheit", Fahrenheit); break; case 2: Console.WriteLine("Bitte geben Sie die Temperatur in Celsius ein"); Celsius = double.Parse(Console.ReadLine()); Kelvin = Celsius + 273.15; Fahrenheit = Celsius * 1.8 + 32; Console.WriteLine("Diese Temperatur entspricht {0} °Kelvin", Kelvin); Console.WriteLine("Diese Temperatur entspricht {0} °Fahrenheit", Fahrenheit); break; case 3: Console.WriteLine("Bitte geben Sie die Temperatur in Fahrenheit ein"); Fahrenheit = double.Parse(Console.ReadLine()); Kelvin = (Fahrenheit + 459.67) * 5 / 9; Celsius = (Fahrenheit - 32) * 5 / 9; Console.WriteLine("Diese Temperatur entspricht {0} °Kelvin", Kelvin); Console.WriteLine("Diese Temperatur entspricht {0} °Celsius", Celsius); break; } Console.WriteLine(); Console.WriteLine("Eine weitere Berecchnung (j/n)? "); Wiederholung = char.Parse(Console.ReadLine()); } while (Wiederholung == 'j'); } } }

using System; using System.Windows.Forms; namespace WindowsFormsApp3 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private float CToF(float c) { return c * 1.8f + 32f; } private float CToK(float c) { return c + 273.15f; } private float KToC(float c) { return c - 273.15f; } private float FToC(float f) { return (f - 32) * 5 / 9; } private void button1_Click(object sender, EventArgs e) { float input = 0; try { input = float.Parse(textBox1.Text); } catch (Exception) { textBox2.Text = "Eingabe überprüfen!"; return; } switch (comboBox1.SelectedIndex) { case 0: switch (comboBox2.SelectedIndex) { case 0: textBox2.Text = input.ToString(); break; case 1: textBox2.Text = KToC(input).ToString(); break; case 2: textBox2.Text = CToF(KToC(input)).ToString(); break; } break; case 1: switch (comboBox2.SelectedIndex) { case 0: textBox2.Text = CToK(input).ToString(); break; case 1: textBox2.Text = input.ToString(); break; case 2: textBox2.Text = CToF(input).ToString(); break; } break; case 2: switch (comboBox2.SelectedIndex) { case 0: textBox2.Text = CToK(FToC(input)).ToString(); break; case 1: textBox2.Text = FToC(input).ToString(); break; case 2: textBox2.Text = input.ToString(); break; } break; } } } }
Hier als WinForm (siehe Grafik)
Converter für Celsius, Kelvin und Fahrenheit durch Eingabe in die entsprechenden Textboxen.
C#-Code
Converter für Celsius, Kelvin und Fahrenheit durch Eingabe in die entsprechenden Textboxen.

using System; using System.Windows.Forms; namespace CS_Aufgabe_245_Converter { public partial class Form1 : Form { private double _celsius; public Form1() { InitializeComponent(); } private string Celsius { get => Math.Round(_celsius, 2).ToString("#,#0.00"); set { _ = double.TryParse(value, out var c); _celsius = value != "" ? c : 0; } } private string Fahrenheit { get => Math.Round(_celsius * 1.8 + 32, 2).ToString("#,#0.00"); set { _ = double.TryParse(value, out var f); _celsius = value != "" ? (1.8 + 32) / f : 0; } } private string Kelvin { get => Math.Round(_celsius + 273.15, 2).ToString("#,#0.00"); set { _ = double.TryParse(value, out var k); _celsius = value != "" ? k - 273.15 : 0; } } private void txtCelsius_KeyUp(object sender, KeyEventArgs e) { Celsius = txtCelsius.Text; txtKelvin.Text = Kelvin; txtFahrenheit.Text = Fahrenheit; } private void txtKelvin_KeyUp(object sender, KeyEventArgs e) { Kelvin = txtKelvin.Text; txtCelsius.Text = Celsius; txtFahrenheit.Text = Fahrenheit; } private void txtFahrenheit_KeyUp(object sender, KeyEventArgs e) { Fahrenheit = txtFahrenheit.Text; txtCelsius.Text = Celsius; txtKelvin.Text = Kelvin; } } }

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace CelsiusFahrenheit { class Program { static void Main(string[] args) { double temp = 0.0; Console.WriteLine("Was möchten sie berechnen C = Celsius, F = Fahrenheit ?"); string choise = Console.ReadLine(); if (choise == "C") { Console.WriteLine("Bitte Temperatur in Fahrenheit eingeben:"); temp = Convert.ToDouble(Console.ReadLine()); Console.WriteLine(temp + " Grad Celsius ist " + (temp * 9 / 5 + 32) + " Grad Fahrenheit"); Console.ReadKey(); } else if(choise == "F") { Console.WriteLine("Bitte Temperatur in Celsius eingeben:"); temp = Convert.ToDouble(Console.ReadLine()); Console.WriteLine(temp+ " Grad Fahrenheit entspricht " + (temp - 32) * 5 / 9 + " Grad Celsius"); Console.ReadKey(); } else { Console.WriteLine("Sie müssen Sich für C oder F entscheiden, andere sind nicht zulässig"); Console.ReadLine(); } } } }