Do while i C# bråkar med mig
Hej!
Är superdupernybörjare på programmering så be gentle...
Jag håller på med en kod där man användaren ska ange ett värde i Fahrenheit. Detta ska sen konverteras till Celsius. Användaren ska mata in värden fram till att den träffar följande:
75 grader = optimalt
73 grader är lägsta godtagbara temperatur
77 grader är högsta godtagbara temperatur.
Jag har skrivit nedan kod, men har försökt köra en do while på det. Första problemet var att VB sa ifrån vid while (celsius <73 && celsius >77) och föreslog att jag lägger: bool celsius uppe i public static int celsius { get; private set; }. Den ville sedan inte använda bool och jag gjorde bara om det till int.
Problemet är nu att allting verkar OK MEN när jag kör programmet och ska följa mina egna instruktioner (som användaren då får), så loopas inget utan programmet stängs av trots Console.ReadLine();
Alltså - jag har totalt hjärnsläpp. Känns som att jag har svaret på tungan men ser i kors just nu och lyckades inte läsa mellan (kod)raderna (haha...)
Kan ni finna ett eller fler fel här?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace AmerikaneniBastun
{
class Program
{
public static int celsius { get; private set; }
public static int FahrToCels(int fahr)
{
int cel = (fahr - 32) * 5 / 9;
return cel;
}
static void Main(string[] args)
{
Console.WriteLine("Välkommen till bastun! Skriv in Fahrenheit: ");
do
{
int fahrenheit = int.Parse(Console.ReadLine());
int celsius = FahrToCels(fahrenheit);
if (celsius < 73)
{
Console.WriteLine("Det är för kallt, du kommer inte gilla det! Skriv in ny temperatur. ");
}
else if (celsius > 77)
{
Console.WriteLine("Det är för varmt, oj oj oj... Skriv in ny temperatur. ");
}
else if (celsius == 75)
{
Console.WriteLine("Temperaturen är optimal för bastubadande! God bless America! ");
}
else
{
Console.WriteLine("Det går att basta! Enjoy!");
}
} while (celsius < 73 && celsius > 77);
Console.ReadLine();
}
}
}