Varför vill inte min loop förtsätta?!?
{
Console.Write("Skriv in temperatur för bastun i fahrenheit\n ");
string inmatat = Console.ReadLine();
double fahrenheit = double.Parse(inmatat);
double celsius = 1.8 * fahrenheit - 92 ;
if (fahrenheit>=165 && fahrenheit<=169)
{
Console.WriteLine ("\nDu har val perfekt temperatur ");
}
else if (fahrenheit <=165)
{
Console.WriteLine("\nDet är för kallt försök igen ");
inmatat = Console.ReadLine();
fahrenheit = Convert.ToInt32(inmatat);
}
else if (fahrenheit >=169)
{
Console.WriteLine("\nDet är för varmt försök igen");
inmatat = Console.ReadLine();
fahrenheit = Convert.ToInt32(inmatat);
}
Console.WriteLine("\nTack för att du använder denna panel ");
Console.ReadKey();
}
}
}
Hej och välkommen till Pluggakuten!
Det är för att din kod inte har någon loop.
Du behöver en "while" eller "do while"- konstruktion för att skapa en loop.
Läs mer här.
Jag får inte till det så jag lägger till en INT så säger den ju att jag redan har en Fahrenheit.
Nu skriver den bara ut "Du har valt perfekt temperatur" Hela tiden
{
Console.Write("Skriv in temperatur för bastun i fahrenheit\n ");
string inmatat = Console.ReadLine();
int fahrenheit = 167;
double celsius = 1.8 * fahrenheit - 92 ;
do
while (fahrenheit == 167)
{
Console.WriteLine ("\nDu har val perfekt temperatur ");
}
while (fahrenheit <=165);
{
Console.WriteLine("\nDet är för kallt försök igen ");
inmatat = Console.ReadLine();
fahrenheit = Convert.ToInt32(inmatat);
}
while (fahrenheit >=169);
{
Console.WriteLine("\nDet är för varmt försök igen");
inmatat = Console.ReadLine();
fahrenheit = Convert.ToInt32(inmatat);
}
Console.WriteLine("\nTack för att du använder denna panel ");
Console.ReadKey();
}
}
Varför har du semikolon i slutet på while-raderna?
annars säger den till att det förväntas på den platsen
Den utför allt mellan villkoret och semikolonet, dvs. ingenting alls.
Om kompilatorn säger att ett semikolon förväntas så är någonting annat fel.
Det blir en oändlig loop p g a denna kod där värdet på fahrenheit inte ändras:
int fahrenheit = 167;
do {
Console.WriteLine ("\nDu har val perfekt temperatur ");
} while (fahrenheit == 167)
Föreslår att du återgår till den kod du visade i ditt ursprungliga inlägg. Sedan lägger du en do-while loop som innesluter den.
int fahrenheit = 0;
do {
// Din ursprungliga kod
} while (fahrenheit < 165 || fahrenheit > 169);
Med andra ord ska koden repeteras om temperaturen är för låg eller för hög.