Need some noobie help here. I've tried for a few hours to see why my case 1 is looping itself, help anyone?
Is it the while-loop?...
Is it the while-loop?...
Case 1 is looping it self instead of moving on to case 2 3 4:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Ryggsäcken
{
class Program
{
static void Main(string[] args)
{
bool minBool = true;//så länge boolen är sann kommer loopen köras. Detta gör när användaren väljer "avsluta" så har jag lagt in att boolen är false som "else if", och då stängs det ner automatiskt.
Console.WriteLine("Välkommen till ryggsäcken!");//Rubrik på menyn.
Console.WriteLine("[1] - Lägg till ett föremål");//Menyval 1-text
Console.WriteLine("[2] - Skriv ut föremålet");//Menyval 2-text
Console.WriteLine("[3] - Rensa innehållet");//Menyval 3-text
Console.WriteLine("[4] - Avsluta");//Menyval 4-text
Console.WriteLine("Välj:");//Text som ber användaren att välja bland siffrorna 1-4.
int menyVal = Convert.ToInt32(Console.ReadLine());//konverterar användarens svar till heltal från string.
string foremal = ""; //sätter ett tomt stringvärde på föremål så att användaren kan fylla på med en egen sträng som blir värdet.
while (minBool)//medans minBool är true, körs detta nedan inom {}.
{
switch (menyVal)
{
case 1:
Console.WriteLine("Vad vill du lägga ner i ryggsäcken?\n");//Skriver ut och ber användaren ange vad den vill lägga ner i ryggsäcken.
foremal = Console.ReadLine();// lägger till användarens inmatning som värde till stringen foremal.
Console.WriteLine("Du la till " + foremal + ". Gör ett val i menyn:");//Skriver ut texten: Du la till + str foremal som inneh¨ler anvädarens inmatning+, tryck på enter.
break;
case 2: // när/om användaren skriver in siffran 2. Då körs nedstående {}.
Console.WriteLine("Detta har du i Ryggsäcken hittils: " + foremal + " " + ". \nGör ett val i menyn");//Skriver ut vad användaren matade in vid menyVal 1 (värdet i str foremal).
break;
case 3: // när/om användaren skriver in siffran 3. Då körs nedstående WriteLine mellan. Denna ska, enligt menyvalet högst upp, rensa innehållet i foremal och be användaren fylla på ryggsäcken igen.
Console.WriteLine("Någon har tagit innehållet i din ryggsäck! Fyll på igen genom att trycka 1" + " " + ", tryck enter.");//Skriver ut texten mellan "".
foremal = "";//Här nollställer jag värdet genom att ange att foremal är en tom sträng igen. Användaren kan nu därför förlja insruktionerna i ovanstående WriteLine.
break;
case 4: // när/om användaren skriver in siffran 4. text+ Programmet ska avslutas.
Console.WriteLine("Din ryggsäck är färdigpackad! Tryck Enter för att avsluta.");//Slutmeddelande som visas vid inmatning, efter nästa input stängs programmet ner.
minBool = false; //Här kan jag ange att while-loopen är false- som jag angett innan if-loopen, detta stannar hela if-loopen.
System.Threading.Thread.Sleep(2000);
break;
}
}
}
}
}