Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
75 / 75 / 96
Регистрация: 29.09.2012
Сообщений: 232
1

Интерфейсы

14.06.2016, 14:21. Показов 732. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Само задание. Разработайте класс для описания объекта, соответствующего варианту задания. В классе реализовать интерфейсы IFormattable, IComparable (IComparer). Перегрузить операции отношения для реализации сравнения объектов по указанному полю. Используйте для хранения экземпляров классов стандартную коллекцию ArrayList. Обеспечьте вывод исходной коллекции и результаты в соответствии с вариантом задания.

Дана ведомость абитуриентов, сдавших вступительные экзамены, которая содержит фамилии абитуриентов и полученные ими оценки. Необходимо определить средний балл группы и распечатать список абитуриентов, имеющих средний балл выше среднего в группе. Выдать средний балл группы в общем формате и с фиксированной точкой для разных региональных параметров (параметры задать самостоятельно).
Вот что написал:
C#
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
class Program
    {
        static void Main(string[] args)
        {
            const int n = 5;
            double h = 0;
 
            MYclass[] my1 = new MYclass[n];
            my1[0] = new MYclass("Царь", 9, 10, 8);
            my1[1] = new MYclass("Куликов", 4, 2, 5);
            my1[2] = new MYclass("Шоть", 7, 6, 7);
            my1[3] = new MYclass("Молодева", 7, 8, 8);
            my1[4] = new MYclass("Войтович", 4, 2, 5);
 
            ArrayList mylist1 = new ArrayList();
            mylist1.Add(my1[0]);
            mylist1.Add(my1[1]);
            mylist1.Add(my1[2]);
            mylist1.Add(my1[3]);
            mylist1.Add(my1[4]);
            ArrayList mylist2 = new ArrayList();
            foreach (MYclass myglist in mylist1)
            {
                Console.WriteLine(myglist);
            }
            for (int i = 0; i < n; i++)
            {
                if (my1[i].Result1 >= 4 && my1[i].Result2 >= 4 && my1[i].Result3 >= 4)
                {
                    mylist2.Add(my1[i]);
                }
            }
             CultureInfo[] cultures = { new CultureInfo("es-ES"), new CultureInfo("fr-FR"),new CultureInfo("eu-ES"),
                                        new CultureInfo("ru-Ru"), new CultureInfo("be-BY"),new CultureInfo("en-US") };
            Console.WriteLine("Введите цифру региона: 1)es 2)fr 3)eu 4)ru 5)be 6)en");
            int k = Convert.ToInt32(Console.ReadLine());
 
            foreach (MYclass myglist2 in mylist2)
            {
               Console.WriteLine(myglist2);
               myglist2.AvgResult(out h);
               if (k == 1) { Console.WriteLine(h.ToString("G", cultures[0])); }
               else if (k == 2) { Console.WriteLine(h.ToString("G", cultures[1])); }
               else if (k == 3) { Console.WriteLine(h.ToString("G", cultures[2])); }
               else if (k == 4) { Console.WriteLine(h.ToString("G", cultures[3])); }
               else if (k == 5) { Console.WriteLine(h.ToString("G", cultures[4])); }
               else if (k == 6) { Console.WriteLine(h.ToString("G", cultures[5])); }
               else Console.WriteLine(h.ToString("G", cultures[0]));
            }
            
            Console.ReadKey();
 
        }
    }
}
C#
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
class MYclass
    {
        private string fio;
        private int result1;
        private int result2;
        private int result3;
        private double avgresult;
        
 
        public MYclass(string fio, int result1, int result2, int result3)
        {
            this.fio = fio;
            this.result1 = result1;
            this.result2 = result2;
            this.result3 = result3;
        }
        public string Fio
        { get { return fio; } }
        public int Result1
        { get { return result1; } }
        public int Result2
        { get { return result2; } }
        public int Result3
        { get { return result3; } }
        public void AvgResult(out double avgresult)
        {
            avgresult = (((double)result1 + (double)result2 + (double)result3) / 3);
        }
       
 
       
        public override string ToString()
        {
            return "ФИО: " + Fio + " экзамен 1: " + Result1 + " экзамен 2: " + Result2 + " экзамен 3: " + Result3;
        }
        public string ToString(string format, IFormatProvider provider)
        {
            if (String.IsNullOrEmpty(format)) { format = "Z"; }
            switch (format.ToUpperInvariant())
            {
                case "F":
                    return string.Format("среднее значение:{0} ", avgresult.ToString("F", provider));
                case "G":
                    return string.Format("среднее значение:{0} ", avgresult.ToString("G", provider));
                case "Z":
                    return ToString();
                default:
                    return ToString();
            }
        }
        
    }
Собственно в чем вопрос, в новый список я записываю студентов у кого результаты выше 4, как это изменить что бы новый список состоял из студентов со средним баллов выше среднего ????
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.06.2016, 14:21
Ответы с готовыми решениями:

Интерфейсы. Выделить у классов общий интерфейс(или интерфейсы)
Задание: У классов выделить общий интерфейс ( или интерфейсы ). первый класс : using...

Интерфейсы...
Доброго времени суток товарищи! Подскажите пожалуйста, какую не слишком сложную в написании...

C# интерфейсы
/* Программа: Явная реализация члена интерфейса. */ using System; interface IEven { bool...

Интерфейсы
Не совсем понятно, как программа (или компилятор ?) определяет метод какого класса нужно вызвать. ...

0
14.06.2016, 14:21
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.06.2016, 14:21
Помогаю со студенческими работами здесь

Интерфейсы
Фамилия и инициалы водителя, Номер автобуса, Номер маршрута, Марка, Год начала эксплуатации,...

Интерфейсы
Здравствуйте. Такое задание. Составить список студентов, включая фамилию, факультет, курс, группу,...

Интерфейсы
Здравствуйте! Помогите со следующими заданиями пожалуйста: 1. Создайте три интерфейса, каждый с...

Интерфейсы
Так как в C# множественное наследование не допустимо в книгах пишут что с помощью интерфейсов ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru