Zum Inhalt springen

Quiz Konsolenanwendung in C#


Link27park

Empfohlene Beiträge

Hey Leutz!:cool:

Ich möchte gerne ein Quiz mit c# schreiben (in der Konsolenanwendung),:D

die Vorgabe es muss mit static void quiz geschrieben sein.

Denn das Ziel ist es das das Quiz 20 Fragen haben muss mit möglichst wenig Zeilen, so ca. 80- 90!:eek

Ich komme so weit bis es die frage stellt....

aber wie soll ich machen das verschiedenen antworten richtig sein können z.b

frage1

richtig a

frage 2

richtig d

wie soll ich ds schreiben?

mfg link27park ;)

Link zu diesem Kommentar
Auf anderen Seiten teilen

erstell dir ne frageklasse

mit den membern

string m_fragetext;

List<string>m_antworten;

string m_antwort;

ctor(string _fragetext, List<String> _antworten, _antwort)

{

m_fragetext = _fragetext;

m_antworten = _antworten;

m_antwort = _antwort;

}

public bool check(String _userAntwort)

{

return m_antwort.ToLower() == _userAntwort.ToLower();

}

der klasse kannst du auchnoch funktionen zum schreiben deiner frage in die konsole geben

evtl auch das antwort auswerten komplett überlassen

in deiner mainklasse erstellst du dann die fragen mit

List<Frageklasse> fragen = new List<Frageklasse>();

fragen.Add("meine frage",new List<string>(new string[] { "antwort 1", "antwort 2", "antwort n" }, "A"));

fragen.Add("noch eine frage",new List<string>(new string[] { "andere antwort 1", "andere antwort 2", "andere antwort n" }, "B"));

...

danach foreach (Frageklasse frage in fragen)

{

//todo code zum frage stellen antwort einlesen z.B. in string inputstr

if(frage.check(inputstr))

{

//code für richtige antwort

}

else

{

//code für falsche

}

}

vorteil für das hinzufügen jeder weiteren frage benötigst du blos eine weitere zeile code

ps das ist noch dotnet2 code mit dem 3er gehts noch etwas angenehmer

Link zu diesem Kommentar
Auf anderen Seiten teilen

waren ein paar kleine fehler drin und nicht alles vollständig

wenn du das ganze auf 20 fragen erweiterst kommst du auf 79 zeilen inklusive einiger leerzeilen ;)

using System;

using System.Collections.Generic;

using System.Text;

namespace ConsoleApplication2

{

class Program

{

static void Main(string[] args)

{

List<Frage> fragen = new List<Frage>();

fragen.Add( new Frage("meine frage", new List<string>(new string[] { "antwort 1", "antwort 2", "antwort n" }), "A"));

fragen.Add(new Frage("noch eine frage", new List<string>(new string[] { "andere antwort 1", "andere antwort 2", "andere antwort n" }), "B"));

fragen.Add(new Frage("Was ist keine Ziffer", new List<string>(new string[] { "1", "2", "3", "4", "5", "6", "7", "8", "#" }), "I"));

foreach (Frage frage in fragen)

{

if (frage.StelleFrage())

{

Console.WriteLine("Richtig!");

}

else

{

Console.WriteLine("Falsch!");

}

}

Console.ReadKey();

}

class Frage

{

string m_fragetext;

List<string> m_antworten;

string m_antwort;

public Frage(string _fragetext, List<String> _antworten, string _antwort)

{

m_fragetext = _fragetext;

m_antworten = _antworten;

m_antwort = _antwort;

}

public bool check(String _userAntwort)

{

return m_antwort.ToLower() == _userAntwort.ToLower();

}

public bool StelleFrage()

{

Console.WriteLine("{0}", m_fragetext);

char antwortindex = 'A';

foreach (string antwort in m_antworten)

{

Console.WriteLine("{0} ) {1}", (Char)(antwortindex++), antwort);

}

Console.Write("Antwort: ");

string userantwort = Console.ReadLine();

return check(userantwort);

}

}

}

}

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...