C# Bool While satsen, fungerar ej korrekt

Permalänk
Avstängd

C# Bool While satsen, fungerar ej korrekt

Hej,

Problemet jag står inför nu är att:

bool isRunning = true;
while (isRunning)

satsen i självaste:

switch....

case
.....
case
....
satsen inte fungerar som den ska, jag anger klart och tydligt case :4 = isRunning = false;
(obs) case :4 = isRunning syftar på värdet på innehållet, har inget med att jag skrev så i koden direkt att göra, för annars kan man tro jag skrev det fel..

programmet stänger inte ner sig självt.. Den fortsätter att loopa sig själv.

Riktigt skumt och första gången jag stöter på något sånthär. Börjar nästan tro om det är fel på min dator.

Vad gör jag för fel?

Permalänk
Medlem

Det är omöjligt att förstå din fråga.
Klistra in din faktiska kod och använd kod-block för formatering och så formulerar du frågan så att vi förstår vad du menar.

Visa signatur

AMD Ryzen 7 1700X 3.8 GHz 20MB | ASUS PRIME X370-PRO | MSI GeForce GTX 1080 Gaming X 8GB | G.Skill 16GB DDR4 3200 MHz CL14 Flare X | Corsair RM650x 650W

Permalänk
Medlem
Skrivet av Daygamerme:

Hej,

Problemet jag står inför nu är att:

bool isRunning = true;
while (isRunning)

satsen i självaste:

switch....

case
.....
case
....
satsen inte fungerar som den ska, jag anger klart och tydligt case :4 = isRunning = false;
(obs) case :4 = isRunning syftar på värdet på innehållet, har inget med att jag skrev så i koden direkt att göra, för annars kan man tro jag skrev det fel..

programmet stänger inte ner sig självt.. Den fortsätter att loopa sig själv.

Riktigt skumt och första gången jag stöter på något sånthär. Börjar nästan tro om det är fel på min dator.

Vad gör jag för fel?

Kan du skicka hela koden?

Wrappa koden med [ code.][/code] taggar också, så blir den lättare att läsa här på forumet

Visa signatur

| EVGA Z170 FTW | i7 6700k | ASUS RTX 3070 | 16GB DDR4 3200MHz | Cooler Master V850 | Samsung 840 Evo 250GB + 2x WD Black 500GB + Seagate 2TB SSHD + Samsung 970 Evo M.2 500GB |

Permalänk
Avstängd
Skrivet av BrutalSwede:

Kan du skicka hela koden?

Wrappa koden med [ code.][/code] taggar också, så blir den lättare att läsa här på forumet

[ code.]
bool isRunning = true;
while (isRunning)
{
Console.WriteLine("texttexttexttext");
//resten av inläsningskoden
switch (nr)
{
case 1:
Console.WriteLine("1");
break;

case 2:
Console.WriteLine("2");
break;

case 3:
Console.WriteLine("3");
break;

case 4:
isRunning = false;
break;
[/code]
koden stänger inte ner upprepning av programmet

Permalänk
Medlem

Ta bort mellanslag och punkt ur den inledande kod-taggen.

Funkar övriga case? D.v.s. skriver den ut "1" om du matar in 1?
Hur ser inläsningskoden ut?

Visa signatur

AMD Ryzen 7 1700X 3.8 GHz 20MB | ASUS PRIME X370-PRO | MSI GeForce GTX 1080 Gaming X 8GB | G.Skill 16GB DDR4 3200 MHz CL14 Flare X | Corsair RM650x 650W

Permalänk
Avstängd
Skrivet av noMad17:

Det är omöjligt att förstå din fråga.
Klistra in din faktiska kod och använd kod-block för formatering och så formulerar du frågan så att vi förstår vad du menar.

har skrivit nu

Permalänk
Medlem

Där du gjort en kommentar med resten av inläsningskoden, finns de någon faktisk kod där just nu?

Skickades från m.sweclockers.com

Visa signatur

Desktop: Intel 4790K @ 4,7GHz, MSI 1080 ti SeaHawk EK X, ASUS Maximus VII Hero, 2x 500GB 850 EVO, 256GB Crucial MX100, 32GB 2133 HyperX, EVGA G2 850W, Custom Loop
Server: Synology DS918+
Laptop: Macbook Pro /w touchbar 15", i9 2,9GHz, 32GB, 512GB.

Permalänk
Medlem

Den viktiga delen här är hur du läser in värdet. För troligtvis läser du inte in värdet korrekt.
Du kan sätta breakpoints vid inläsningen för att se vad som går fel.

bool isRunning = true; int nr = 0; while (isRunning) { Console.WriteLine("Skriv in"); Int32.TryParse(Console.ReadLine(), out nr); switch (nr) { case 1: Console.WriteLine("1"); break; case 2: Console.WriteLine("2"); break; case 3: Console.WriteLine("3"); break; case 4: isRunning = false; break; } } Console.WriteLine("Klar"); Console.ReadLine();

Permalänk
Avstängd
Skrivet av Daygamerme:

har skrivit nu

Hahahaha så ja nu funkar det äntligen, du hade rätt, det berodde på att jag hade skrivit readkey högst upp som det inte funkade.

Kom på lösningen själv- med din ledtråd.

Vet ej hur det funkar här men tråden kan kastas

Permalänk
99:e percentilen
Skrivet av BrutalSwede:

Wrappa koden med [ code.][/code] taggar också, så blir den lättare att läsa här på forumet

Skrivet av Daygamerme:

[ code.]
bool isRunning = true;
while (isRunning)
{
Console.WriteLine("texttexttexttext");
//resten av inläsningskoden
[/code]

[noparse] och [cmd] är två väldigt användbara taggar som både gör demonstrerad BB-kod mer lättläst och eliminerar risken för missuppfattningar som ovan. Med Better SweClockers är det enkelt att infoga dem.

Skriv:

Wrappa koden med [cmd][noparse][code][/code][/noparse][/cmd] taggar också

Få:

Wrappa koden med [code][/code] taggar också

Visa signatur

Skrivet med hjälp av Better SweClockers

Permalänk
Medlem
Skrivet av Alling:

[noparse] och [cmd] är två väldigt användbara taggar som både gör demonstrerad BB-kod mer lättläst och eliminerar risken för missuppfattningar som ovan. Med Better SweClockers är det enkelt att infoga dem.

Skriv:

Wrappa koden med [cmd][noparse][code][/code][/noparse][/cmd] taggar också

Få:

Wrappa koden med [code][/code] taggar också

Ah, tackar. Var ett tag sedan man var aktiv nu, så en del saker man har tappat.

Brukade köra Better Sweclockers för ett par år sedan, kanske är bäst att installera det nu igen

Visa signatur

| EVGA Z170 FTW | i7 6700k | ASUS RTX 3070 | 16GB DDR4 3200MHz | Cooler Master V850 | Samsung 840 Evo 250GB + 2x WD Black 500GB + Seagate 2TB SSHD + Samsung 970 Evo M.2 500GB |

Permalänk

While loopen funkar ej

Tjena håller på min kurs i C# nu har jag fått en uppgift att göra ett "lottospel. jag har kommit en bit på min kod men nu när jag ska sätta mina while loopar så får jag syntax error detta är min kod

public partial class Form1 : Form { //initialisera Random numGen = new Random(); int val = 0; public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { } private void avslutaToolStripMenuItem_Click(object sender, EventArgs e) { Application.Exit(); } private void oMToolStripMenuItem_Click(object sender, EventArgs e) { MessageBox.Show("Tack för att du spelade på mitt lotteri!\nAdam Nielsen 2019\nV1.0", "Om Detta Program"); } private void button2_Click(object sender, EventArgs e) { generateNumbers(); } private void generateNumbers() { val = numGen.Next(1, 60); num1.Text = val.ToString(); val = numGen.Next(1, 60); while (val.ToString.Equals(num1.Text;) } private void panel1_Paint(object sender, PaintEventArgs e) { } private void panel3_Paint(object sender, PaintEventArgs e) { } private void label1_Click(object sender, EventArgs e) { } } //Slut på nummergeneration }

/derose

Visa signatur

Bitfenix Whisper M 750W, WD Blue 1TB 7200rpm 64MB,AMD Ryzen 9 3900X 3.9 GHz, ASUS TUF GAMING X570-PLUS,ASUS PG279QE / 27" / 1440p 165 HZ G-Sync, Samsung 860 EVO 1TB,ASUS GeForce RTX 2080 SUPER,Corsair 32GB (2x16GB) DDR4 3200MHz CL16, Logitech G413 Carbon,Corsair Hydro H115i PRO RGB Plantronics RIG 800V2 Wireless (Dolby Atmos)

Permalänk
Medlem
Skrivet av derose007:

Tjena håller på min kurs i C# nu har jag fått en uppgift att göra ett "lottospel. jag har kommit en bit på min kod men nu när jag ska sätta mina while loopar så får jag syntax error detta är min kod

private void generateNumbers() { val = numGen.Next(1, 60); num1.Text = val.ToString(); val = numGen.Next(1, 60); while (val.ToString.Equals(num1.Text;) }

En while loop kommer att köra koden innanför blocket så länge statement för loopen är korrekt.

while(statement) { // Repetera denna kod }

Vilket innebär att detta

while (val.ToString.Equals(num1.Text;)

Inte är korrekt syntax.