Programmering 1
Hej jag pluggar programmering 1 på distans och jag behöver lite hjälp med en uppgift jag håller på med här kommer uppgift beskrivningen:
Denna uppgift går ut på att en amerikanare ska skriva in en temperatur för ett bastuaggregat tills man skriver in
en temperatur som anses lagom. För att kontrollera detta ska vi ha en temperatur som anger den lägsta
godtagbara temperaturen och en som anger den högsta godtagbara temperaturen.
Tyvärr förstår vår kära bastubesökare enbart Fahrenheit medan
bastuaggregatet enbart förstår Celsius. Därför har du fått skriva ett program
som konverterar det som skrivs in från Fahrenheit till Celsius.
Den optimala temperaturen för bastun är 75 grader men den godtagbara
temperaturen är från 73 till 77 grader. Detta ska styras hela i villkorssatsen i
loopen.
Om talet är mindre än den minsta godtagbara temperaturen ska programmet
skriva att det är för kallt och man får skruva upp lite. Därefter får
bastubesökaren ställa in ett nytt värde på bastuaggregatet och loopen
upprepas.
I denna uppgift ska ni hantera följande:
1. Undantagshantering
2. Metoder
3. Villkor
Jag vill fortfarande att det tal användaren skriver in lagras i en int först eftersom man med stor sannolikhet bara
skriver in heltal. Det innebär att metoden ska se ut så här:
public static double FahrToCels(int fahr)
{
//Typomvandla fahr till flyttal
//Gör uträkning med decimaler i svaret
return temp;
Mitt problem är att att jag vet inte hur jag ska convertera int fahrIn i metoden till double.
Väldigt tacksam ifall någon kan hjälpa mig
MVH
public static double FahrenheitToCelcius(int fahrIn)
{
double fahrOut = Convert.ToDouble(fahrIn);
double celcius = (fahrOut - 32) * 5 / 9;
Console.WriteLine(celcius);
return celcius;
}
public static void Main(string[] args)
{
Console.WriteLine("Write in how many degrees you want in fahrenheit");
double fahrenheit = 0;
while (!double.TryParse(Console.ReadLine(), out fahrenheit))
{
Console.WriteLine("WRONG! You can only use number!");
}
do
{
if (fahrenheit > 171)
{
double celcius = FahrenheitToCelcius(fahrenheit);
Console.WriteLine("Its to hot turn the value down! Fahrnheit: " + fahrenheit + " Celcius: " + celcius);
try
{
double fahr1 = double.Parse(Console.ReadLine());
fahrenheit = fahr1;
}
catch
{
Console.WriteLine("WRONG! You can only use number!");
}
}
else if (fahrenheit < 163)
{
double celcius = FahrenheitToCelcius(fahrenheit);
Console.WriteLine("Its to cold turn the value up! Fahrnheit: " + fahrenheit + " Celcius: " + celcius);
try
{
double fahr2 = double.Parse(Console.ReadLine());
fahrenheit = fahr2;
}
catch
{
Console.WriteLine("WRONG! You can only use number!");
}
}
}
while (fahrenheit < 163 || fahrenheit > 171);
if (fahrenheit == 167)
{
double celcius = FahrenheitToCelcius(fahrenheit);
Console.WriteLine("Temperature is perfect! Fahrnheit: " + fahrenheit + " Celcius: " + celcius);
}
else
{
double celcius = FahrenheitToCelcius(fahrenheit);
Console.WriteLine("The temperature is good! Fahrnheit: " + fahrenheit + " Celcius: " + celcius);
}