Как создать новый лист с предметами и оценками для каждого студента? - 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);
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 4.231 из 5