Last active
February 10, 2023 15:05
-
-
Save marcinjahn/cdb5f7a0ac15ef9f8854421003caa312 to your computer and use it in GitHub Desktop.
Przykład programu na zaliczenie C#
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
using System; | |
using System.Collections.Generic; | |
using System.Linq; | |
// Typy danych | |
record Student(IEnumerable<SubjectWithMarks> Subjects); | |
record SubjectWithMarks(Subject Subject, Marks Marks); | |
record Marks(int Semester1Mark, int Semester2Mark); | |
enum Subject | |
{ | |
Matematyka, | |
Historia, | |
Chemia | |
} | |
// Program | |
class Program | |
{ | |
public static void Main(string[] args) | |
{ | |
// Przykładowi ucznowie i ich oceny: | |
var john = new Student( | |
new SubjectWithMarks[] { | |
new SubjectWithMarks(Subject.Matematyka, new Marks(1, 3)), | |
new SubjectWithMarks(Subject.Historia, new Marks(2, 1)), | |
new SubjectWithMarks(Subject.Chemia, new Marks(3, 1)) | |
} | |
); | |
var andrew = new Student( | |
new SubjectWithMarks[] { | |
new SubjectWithMarks(Subject.Matematyka, new Marks(2, 2)), | |
new SubjectWithMarks(Subject.Historia, new Marks(2, 1)), | |
new SubjectWithMarks(Subject.Chemia, new Marks(1, 3)) | |
} | |
); | |
var students = new Student[] { john, andrew }; | |
// Wybór przedmiotu | |
var selectedSubject = Subject.Historia; | |
// Szukanie przedmiotu | |
var semester1Fails = 0; | |
var semester2Fails = 0; | |
foreach (var student in students) | |
{ | |
var marks = student.Subjects | |
.Where(n => n.Subject == selectedSubject) | |
.FirstOrDefault()?.Marks; | |
semester1Fails += marks?.Semester1Mark == 1 ? 1 : 0; | |
semester2Fails += marks?.Semester2Mark == 1 ? 1 : 0; | |
} | |
// Wyświetlenie informacji | |
if (semester1Fails > semester2Fails) | |
{ | |
Console.WriteLine($"Więcej złych ocen z przedmiotu {selectedSubject} w pierwszym semestrze"); | |
} | |
else if (semester1Fails < semester2Fails) | |
{ | |
Console.WriteLine($"Więcej złych ocen z przedmiotu {selectedSubject} w drugim semestrze"); | |
} | |
else | |
{ | |
Console.WriteLine($"Oba semestry mają tę samą ilosć złych ocen z przedmiotu {selectedSubject}"); | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment