Permalänk
Medlem

IF/ELSE sats

Hej,

Jag håller på med en övning vi fått av våran lärare:

Övning 7 - if-sats
Skapa ett nytt projekt av typen Console Application, namnge det ifcase
Skapa en variabel av typen string och ge den värdet "HELLO"
Gör en if-sats som kontrollerar om värdet på string-variabeln är "HELLO", om det är sant skriv ut "YES"
om det inte är sant, skriv ut "NO"

Och har nu kört fast, såhär ser min kod ut:

static void Main(string[] args)
{
Console.WriteLine("Skriv in en text: ");
string HELLO;

if (HELLO)
{
}

else ()
{
}
}

Det jag kört fast på är hur jag ska läsa av om de skriver in HELLO eller inte..

Permalänk
Medlem

if/else behöver villkor som antingen utvärderas till sant eller falskt.

t.ex:

if (myString == "text") { // do stuff } else { // do something else }

Läs på lite om if/else, villkor (conditions) och jämförelseoperatörer som ==, !=, <, > osv.

Edit: Console.ReadLine() har den funktionalitet du söker vad gäller ta emot inmatning, googla lite hur den används.

Permalänk
Medlem
Skrivet av emfos:

Hej,

Jag håller på med en övning vi fått av våran lärare:

Övning 7 - if-sats
Skapa ett nytt projekt av typen Console Application, namnge det ifcase
Skapa en variabel av typen string och ge den värdet "HELLO"
Gör en if-sats som kontrollerar om värdet på string-variabeln är "HELLO", om det är sant skriv ut "YES"
om det inte är sant, skriv ut "NO"

Och har nu kört fast, såhär ser min kod ut:

static void Main(string[] args)
{
Console.WriteLine("Skriv in en text: ");
string HELLO;

if (HELLO)
{
}

else ()
{
}
}

Det jag kört fast på är hur jag ska läsa av om de skriver in HELLO eller inte..

Om vi tittar på koden igen, vad är det du sparar i "string HELLO;"? <- Inget värde sparas, du skapar enbart en variabel utan värde (NULL).
Du ber användaren om en text att skriva in men den sparas aldrig till variabeln...

Titta lite på länken för att få lite information om hur du kan göra för att spara användarens data;
https://www.dotnetperls.com/console-readline

När det gäller if-satsen så sparar du ner värdet i en string, en string kan inte användas som ett boolean value, läs lite mer här;
https://docs.microsoft.com/en-us/dotnet/csharp/language-refer...

if (hello.Equals("Hello")) <- Om värdet är sant gå vidare in i if-satsen.
{
// Din kod
}

Visa signatur

i7-8700K @ 4.8 GHz | RTX 3070 Ti | Samsung 980 PRO

Permalänk
Medlem

Du behöver inte ens ha någon inmatning utifrån, du ska enligt instruktionen bara definiera en variabel ge den värdet "HELLO". Och sedan skriva ut med hjälp av en if/else-sats YES eller NO beroende på om den har värdet HELLO eller inte (dvs den kommer att skriva ut YES). Du kan kontrollera att den skriver ut NO om du ändrar värdet bara för att vara säker på att du gjort rätt. Men det står som sagt ingenstans i uppgiften att du ska läsa in ett värde från användaren.

Jag vill inte låta nedlåtande på något sätt men går de inte igenom if-else på kursen? Detta är så pass grundläggande inom programmering så jag är lite förvånad att ni är på övning 7 och inte hanterat detta på kursen ännu? Är det en distanskurs eller är det bara dåliga lärare?

Men kämpa på lite till, så fort man fått in och förstått 'mönstret' när det kommer till programmering så släpper det fort! Och du har gjort helt rätt som frågat om du kör fast. Lycka till!