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();
}
}
}
}
