5 svar
170 visningar
Starfella behöver inte mer hjälp
Starfella 3
Postad: 16 mar 2023 18:31

Problem med Gissa nummer

String answer1, answer2, answer3, answer4;
Int64 num1, num3;
Console.WriteLine ("Sattsa stort och vinn störe om ni gissar nummeret rätt går ni hem med 1000kr för endast 200kr insats. Allt ni behöver göra är att gissa på ett tal mellan 1-100, vill ni ge ett försök?");

do{
String nummer = Console.ReadLine();


answer1 = ("Jag är ledsen men ni verkar ha valt ett för lågt nummer");
answer2 = ("Jag är ledsen men ni verkar ha valt ett för högt nummer");
answer3 = ("Vi kongratulerar er ni har vunnit 1000kr");
answer4 = ("Det är inte ett nummer mellan 1 och 100");

Random randomerare = new Random();
int num2 = randomerare.Next(1, 100);
num1 = Convert.ToInt64 (nummer);
num3 = 101;
int Gissningar = 0;
{

if (num1 < num2)
{
Console.WriteLine (answer1);
}

if (num1 > num3){
Console.WriteLine (answer4);
}
else if (num1 > num2)
{
Console.WriteLine (answer2);
}
if (num1 != num2){
Gissningar ++;
}
if(num1 == num2){
Console.WriteLine (answer3); Console.WriteLine("Det tog " + Gissningar + " Gissningar");
}
}
} while (num1 != num2);
}
}

Fermatrix 7841 – Fd. Medlem
Postad: 16 mar 2023 18:40 Redigerad: 16 mar 2023 18:40

Vad är det som inte fungerar? 

Det första jag ser som du inte bör göra är att definiera answer1 osv inuti do while, detta är slöseri på resurser eftersom dessa aldrig ändras. 

Gör de till konstanter istället. :)

Använd också gärna {:} när du skriver ett inlägg för att kopiera in din kod, då får vi också med inventeringen vilket gör det mycket enklare att läsa din kod.

Laguna Online 30482
Postad: 16 mar 2023 18:48

eller indenteringen.

Starfella 3
Postad: 16 mar 2023 18:56

Det som händer är att 'while' (num1 != num2 ); inte fungerar för då tycker programmet att num2 inte existerar efter som det enda stället num2 finns är i 'do' men jag kan inte skriva om num2 som en int64 för då vill programmet inte berätta när jag har rätt nummer. 

Laguna Online 30482
Postad: 16 mar 2023 19:00

Definiera num2 före loopen. Det är nog vad du vill i alla fall, för annars får du ett nytt slumptal för varje varv, och då kan du aldrig gissa rätt.

Starfella 3
Postad: 16 mar 2023 19:06

känner mig rätt dum nu XD, tack så mycket ska jag bara lista ut hur jag ska få den att börja räkna gissningar. 

Svara
Close