Laden...

Anfänger möchte wissen, ob sein "Quiz" so Sinn macht

Erstellt von beginner99 vor 6 Jahren Letzter Beitrag vor 6 Jahren 2.841 Views
B
beginner99 Themenstarter:in
1 Beiträge seit 2018
vor 6 Jahren
Anfänger möchte wissen, ob sein "Quiz" so Sinn macht

Moin zusammen,

ich bin ein totaler Neuling im Bereich Programmieren und habe ein "Quiz" erstellt.
Würde nun gerne wissen, ob das Quiz so Sinn macht oder ob ihr sagt, dass es totaler Mist sei.
Nehme Kritik gerne entgegen und natürlich Ratschläge.
Ist nur ein Quiz mit einer Frage, damit ihr seht wie ich es aufbauen würde.


          string Antwort1;

            string[] obst = { "1. Apfel", "2. Himbeere", "3. Banane", "4. Melone" };

            foreach (string s in obst)
            {
                 Console.WriteLine(s);
            }

            Console.WriteLine(" ");
            Console.WriteLine("Was hier von ist kein Obst?");
            Antwort1 = Convert.ToString(Console.ReadLine());

            if (Antwort1 == "1" || Antwort1 == "2" || Antwort1 == "3")
            {
                Console.Clear();
                Console.WriteLine("Falsch");
            }

            else if (Antwort1 == "4")
            {
                Console.Clear();
                Console.WriteLine("Richtig");
            }

            else
            {
                Console.WriteLine("Bitte Antworten Sie mit einer Zahl von 1 bis 4");
            }

            Console.ReadKey();
P
1.090 Beiträge seit 2011
vor 6 Jahren

Hi beginner99,

wenn du dein Programm so auf baust wirst du Probleme mit der Erweiterbarkeit haben.
Du müsstest für jede weitere Frage alles hart codieren.

Hier ist es besser mit Klassen zu arbeiten.

Grob könnte das so aussehen. (Ist jetzt hier frei herunter getippt}

Public class Frage
{

public String Frage { get; set;}
public Ilist<Antwort> Antworten { get; set;}

public bool IstRichtigeAntwort(int nummer)
{
 var antwort = Antowrten.Where(c => c.Nummer == nummer).First() ;// Linq Abfrage wenn nicht bekannt googlen

return antwort.IstRichtig;

}

} 

public class Antwort
{
public int Nummer {g;s;}
public String Text {g; s;}
public bool IstRichtig {g; s;}

}

Damit kannst du dann in Zukunft einfacher weitere Fragen hinzufügen. Schau dir da dann villeicht mal die 3 Schichten Architektur an.

Sollte man mal gelesen haben:

Clean Code Developer
Entwurfsmuster
Anti-Pattern