Programmering 1 C# behöver hjälp med uppgifter

Permalänk
Medlem

Programmering 1 C# behöver hjälp med uppgifter

bool continueLoop = true;

while (continueLoop)
{
Console.WriteLine("Mata in ett tal");
int retur = int.Parse(Console.ReadLine());
if (retur == 10)
{
Console.WriteLine("Du har matat in rätt tal");
break;
}
else
{
if (retur < 10)
{
Console.WriteLine("Värdet är för lågt");
}
else if (retur > 10)
{
Console.WriteLine("Värdet är för högt");
}

}

Jag har pluggat inför ett prov men vi har inte fått någon information om bool continueloop = true samt while (continueLoop)
Skulle helst vilja veta vad detta gör till själva uppgiften.

Permalänk
Medlem

Testa att sätta den till False och se hur det påverkar ditt program.

Permalänk
Medlem

Nu var det längesen jag pysslade med programmering.
Men:
"bool continueLoop = true;
while (continueLoop)" = kör loopen tills nån säger nått annat.

"if (retur == 10)
{
Console.WriteLine("Du har matat in rätt tal");
break;"
om du gissar rätt dvs 10 så bryts loopen av break

om du gissar högre eller lägre så skrivs bara writeline ut och loopen fortsätter

Visa signatur

Phanteks Eclipse P400S | Corsair RM850x V2 Vit
Gigabyte B550M DS3H | Ryzen 9 5900X | ADATA XPG DDR4 2x16 Gig 3000Mhz
Arctic Cooling Liquid Freezer II 360 | Samsung och Crucial SSD
RTX 4070 FE | Acer Predator Z321QU | BenQ PD3200Q
Apple Airport Extreme x 5 | Bahnhof 500/500

Permalänk
Medlem

Koden deklarerar en variabel av typen bool (sant eller falskt) med värdet true.

bool continueLoop = true;

En loop som körs så länge variabel continueLoop är sant.

while (continueLoop)

Permalänk
Medlem

Eftersom continueLoop inte ändras inne i loopen så är loopen ekvivalent med:

while (true) { ... }

Variabeln fyller alltså inget syfte i det här exemplet. Den hade kunnat användas för att avsluta loopen genom att sätta den till false, men koden använder break för att avsluta loopen istället. Skillnaden är att break går ur loopen direkt, medan om du hade satt continueLoop till false istället så skulle loopen avslutas först när den når toppen igen och kontrollerar villkoret.

Permalänk
Medlem
Skrivet av perost:

Eftersom continueLoop inte ändras inne i loopen så är loopen ekvivalent med:

while (true) { ... }

Variabeln fyller alltså inget syfte i det här exemplet. Den hade kunnat användas för att avsluta loopen genom att sätta den till false, men koden använder break för att avsluta loopen istället. Skillnaden är att break går ur loopen direkt, medan om du hade satt continueLoop till false istället så skulle loopen avslutas först när den når toppen igen och kontrollerar villkoret.

Jag provade ta bort hela saken med bool och while och koden gör precis samma sak. Spelar det någon roll då om jag har det där skrivet eller inte?

Permalänk
Medlem
Skrivet av Ant07:

Jag provade ta bort hela saken med bool och while och koden gör precis samma sak. Spelar det någon roll då om jag har det där skrivet eller inte?

Om du tar bort hela while-loopen runtomkring så kommer koden inte upprepas om du matar in något annat än 10, utan kommer då bara skriva ut att värdet är för högt eller lågt och sen avsluta.

Permalänk
Medlem
Skrivet av Ant07:

bool continueLoop = true;

while (continueLoop)
{
Console.WriteLine("Mata in ett tal");
int retur = int.Parse(Console.ReadLine());
if (retur == 10)
{
Console.WriteLine("Du har matat in rätt tal");
break;
}
else
{
if (retur < 10)
{
Console.WriteLine("Värdet är för lågt");
}
else if (retur > 10)
{
Console.WriteLine("Värdet är för högt");
}

}

Jag har pluggat inför ett prov men vi har inte fått någon information om bool continueloop = true samt while (continueLoop)
Skulle helst vilja veta vad detta gör till själva uppgiften.

Ett mer pedagogiskt sätt hade varit att skriva koden hade varit att ersätta break med "continueLoop = false". Borde då vara lättare att förstå.

Tänk:

Sålänge(while) continueLoop är true gör xxx

När användaren gissar rätt så ändras continueLoop till false och loopen (och därmed programmet) avslutas.