Как создать новый лист с предметами и оценками для каждого студента? - C#
Формулировка задачи:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;
using System.Linq;
namespace Atlety
{
class Program
{
private class Subject
{
public String name;
public int mark;
}
// udelame novou tridu studentu
private class Student
{
public string name;
public string surname;
private List<Subject> subjects;
public Student(String name, String surname, List<Subject> subjects)
{
this.name = name;
this.surname = surname;
this.subjects = subjects;
}
public Subject getMaxMark()
{
int mark = subjects[0].mark;
int maxIndex = 0;
int index = 0;
foreach (Subject s in subjects)
{
if (s.mark > mark)
{
mark = s.mark;
maxIndex = index;
}
index++;
}
return subjects[maxIndex];
}
public Subject getMinMark()
{
int mark = subjects[0].mark;
int minIndex = 0;
int index = 0;
foreach (Subject s in subjects)
{
if (s.mark < mark)
{
mark = s.mark;
minIndex = index;
}
index++;
}
return subjects[minIndex];
}
public int getAverageMark()
{
int marks = 0;
foreach (Subject sub in subjects)
{
marks += sub.mark;
}
int average = marks / subjects.Count;
return average;
}
public string getName()
{
return name;
}
public string getSurname()
{
return surname;
}
}
static void Main(string[] args)
{
List<Subject> subjects = new List<Subject>();
Subject subject = new Subject();
subject.name = "KMI/ZPG ";
subject.mark = 10;
subjects.Add(subject);
subject = new Subject();
subject.name = "KEN/MIE1";
subject.mark = 30;
subjects.Add(subject);
subject = new Subject();
subject.name = "KJE/AJ1";
subject.mark = 50;
subjects.Add(subject);
List<Student> students = new List<Student>();
students.Add(new Student("stanislav", "Adam", subjects));
students.Add(new Student("Sergii", "Melkumian", subjects));
students.Add(new Student("Adam", "Pirse", subjects));
students.Add(new Student("Vladislav", "Morozov", subjects));
foreach (Student s in students)
{
Console.Write(s.name + " " + s.surname + " ; \n ");
Console.Write(" Minimalmi znamka je" + " " + s.getMinMark().name + " : " + s.getMinMark().mark + "\n");
Console.Write(" Maximalni znamka je " + " " + s.getMaxMark().name + " : " + s.getMaxMark().mark + "\n");
Console.Write(" Prumerna znamka je " + " : " + s.getAverageMark() + "\n");
Console.WriteLine();
}
Console.ReadLine();
}
}
}
Просто надо чтобы для каждого из стужентов был свой лис с предметами и оценками
Надо чтобы дя каждого студента был свой лист с предметами и оценками
Решение задачи: «Как создать новый лист с предметами и оценками для каждого студента?»
textual
Листинг программы
List<Subject> subjects = new List<Subject>();
Random rnd = new Random();
for(int i=;i<subjectCount;i++) //количество предметов указываете самостоятельно в отдельной переменной
{
Subject tSubject = new Subject();
tSubject.name = subjectsNames[rnd.Next(0,subjectsNames.Length)]);
tSubject.mark = rnd.Next(10,30);
subjects.Add(tSubject);
}