Logik der Dateneingabe
Teil des Abschnitts Logik & Ablauf der C#-Journey von Coddy. Lektion 41 von 66.
Aufgabe
EinfachNun, da wir unsere Datenstruktur haben, implementieren wir Logik zum Eingeben und Aktualisieren von Studierendenpunktzahlen.
Erstellen Sie eine Klasse namens DataEntry mit diesen Methoden:
SetStudentScore(int[][] scoreGrid, int studentIndex, int assignmentIndex, int score): Setzt die Punktzahl für einen bestimmten Studierenden und eine Aufgabe, wenn sie gültig ist. Gibt zurück:- 0 bei Erfolg
- -1, wenn ein Index außerhalb der Grenzen liegt
- -2, wenn die Punktzahl ungültig ist
UpdateAllScores(int[][] scoreGrid, int[] studentIndices, int assignmentIndex, int score): Aktualisiert Punktzahlen für mehrere Studierende bei derselben Aufgabe. Gibt die Anzahl der erfolgreich aktualisierten Punktzahlen zurück.
Hinweis: Verwenden Sie die Methode ValidateScore aus der Klasse DataCollector, um die Gültigkeit der Punktzahl zu prüfen.
Probier es selbst
using System; // Diese Zeile nicht löschen
public class DataEntry
{
public static int SetStudentScore(int[][] scoreGrid, int studentIndex, int assignmentIndex, int score)
{
// Schreibe deinen Code hier
}
public static int UpdateAllScores(int[][] scoreGrid, int[] studentIndices, int assignmentIndex, int score)
{
// Schreibe deinen Code hier
}
}
// Required for testing - do not modify
public class DataCollector
{
public static int[][] CreateScoreGrid(int students, int assignments)
{
int[][] scoreGrid = new int[students][];
for (int i = 0; i < students; i++)
{
scoreGrid[i] = new int[assignments];
}
return scoreGrid;
}
public static bool ValidateScore(int score)
{
return score >= 0 && score <= 100;
}
public static int[][] PopulateWithDefaultValues(int[][] scoreGrid)
{
for (int i = 0; i < scoreGrid.Length; i++)
{
for (int j = 0; j < scoreGrid[i].Length; j++)
{
scoreGrid[i][j] = -1;
}
}
return scoreGrid;
}
}Alle Lektionen in Logik & Ablauf
1Mehrdimensionale Arrays
Grundlagen 2D-Arrays2D-Arrays deklarieren und initialisierenAuf Elemente von 2D-Arrays zugreifenVerschachtelte Schleifen mit 2D-ArraysGezackte ArraysHäufige MatrixoperationenZusammenfassung – Mehrdimensionale Arrays4Techniken zur Ablaufsteuerung
Frühe RückgabenWächterklauselnSprunganweisungen (goto)Break und ContinueVerschachtelte Bedingungen abflachen7Logische Operatoren – Fortgeschritten
KurzschlussauswertungBedingte logische OperatorenOperatorrangfolgeRückblick – Erweiterte Operatoren2Fortgeschrittene Entscheidungslogik
Mehrere BedingungenKomplexe boolesche LogikVergleich: If vs. SwitchVerschachtelte Switch-AnweisungenRückblick – Fortgeschrittene Entscheidungen5Fehlerbehandlung mit Exceptions
Grundlagen von Try-CatchException-TypenMehrere Catch-BlöckeArbeiten mit DateienFinally-BlockUsing im Vergleich zu Try-FinallyBenutzerdefinierte ExceptionsZusammenfassung – Fehlerbehandlung8Datenanalysesystem
Einrichtung der DatenerfassungLogik der Dateneingabe3Schleifenverbesserungen
SchleifenleistungKomplexe IterationJeder SchleifentypSchleifen refaktorierenRückblick – Optimierte Schleifen6Behandlung von Nullwerten
Grundlagen von NullreferenzenNullable WerttypenMuster zur NullprüfungDefensive ProgrammierungZusammenfassung – NullsicherheitÜbe selbstständig: Online-C#-Compiler