Entwickler-Ecke
Sonstiges (.NET) - Wettkampf
interessierter - So 22.04.12 20:47
Titel: Wettkampf
Hallo Zusammen
Ich habe mir eine Aufgabe gestellt und habe nun eine Frage dazu.
Meine Aufgabe:
Disziplin:
10km Lauf
Punkteverteilung:
Zwischen 10 - 20 Minuten für 10km gibts 10 Punkte
Zwischen 20 und 25 Minuten gibt 5 Punkte
mehr als 25 Minuten gibt 0 Punkte
Mein jetziger Code fragt zuerst wiviel Teilnehmer dabei waren. Anschliessend fragt es immer nach dem Namen des Teilnehmers und der benötigten Zeit für die 10km und gibt die Punktzahl richtig aus, bis zur Anzahl der Teilnehmer.
Am Schluss will ich mittels Console.WriteLine alle Namen der Teilnehmer und deren benötigte Zeit ausgeben. Ich weiss aber nicht wie ich die verschiedenen Namen und Zeiten so abspeichern kann damit ich schlussendlich meine gewünschte Ausgabe machen kann. Ich hoffe jemand kann mir einen Denkanstoss geben.
Hier der Code:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27:
| Console.WriteLine("Wieviele Athleten haben teilgenommen?") string Anzahl = Console.ReadLine(); int a = int.Parse(Anzahl); int p = 0;
for (int x =1; x <= a; x++) { Console.WriteLine("Name des " + x + ". Atlethen eingeben"); string Name = Console.ReadLine(); Console.WriteLine("Gesamtzeit für 10km eingeben"); string Gesamtzeit = Console.ReadLine();
if (g < 20) { p = p + 10; } if (g > 20 && g < 25) { p = p + 5; } if (g > 25) { p = p + 0; } Console.WriteLine(Name + " hat " + p + " Punkte erzielt"); p = p - p; } |
Greets
interessierter
Moderiert von
Th69: Codeformatierung überarbeitet.
Th69 - Mo 23.04.12 09:37
Hallo,
erstelle dir eine Klasse für deine Daten (Name, Punkte etc.) und packe diese dann in eine List<T>.
P.S. Und bitte gewöhne dir sofort an, sprechende Variablennamen zu verwenden (wir sind nicht mehr bei "obfuscated C", wo a, p, g, ... "schöne" Variablennamen sind ;-)
PantherX - Mo 23.04.12 09:37
Hallo,
schau dir mal das Thema "Arrays" an. Das sind Variablen die mehrere Werte unter Angabe einer IndexID speichern können.
test[1] = Wert 1
test[2] = Wert 2
test[3] = Wert 3
test[n] = Wert n
Damit könntest du jeden Läufer in ein Array-Feld packen und mittels deiner For-Schleife das Array durchlaufen, anstatt die Anzahl der Läufer.
Besten Gruß
/Edit
Ups da war jemand schneller :)
interessierter - Mo 23.04.12 20:10
Reicht ein eindimensionales Array oder brauche ich ein mehrdimensionales, weil es ja zwei Werte sin, Namen und Laufzeit für 10km)?
Ralf Jansen - Mo 23.04.12 20:53
Zitat: |
Reicht ein eindimensionales Array oder brauche ich ein mehrdimensionales, weil es ja zwei Werte sin, Namen und Laufzeit für 10km)? |
Weder noch.
Th69 hat dir den richtigen Ansatz schon genannt.
interessierter - Mo 23.04.12 21:03
Ich arbeite aber zur Zeit nur mit Konsolenprogrammen. Meines wissens nach hat man klassen nur im Visual c#???
interessierter - Mo 23.04.12 22:51
Ich lass das jetzt erstmal sein. Bin noch nicht weit genug mit den Grundlagen.
Danke trotzdem
Gruss
interessierter
Kha - Mo 23.04.12 23:38
Der Vollständigkeit halber: Visual C# ist die IDE, nämlich der C#-Teil von Visual Studio, und hat noch nichts mit GUI zu tun. Und Klassen wirst du schon in deinem allerersten Projekt benutzt haben ;) .
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!