С Новым годом! Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.68/25: Рейтинг темы: голосов - 25, средняя оценка - 4.68
2 / 2 / 0
Регистрация: 26.02.2012
Сообщений: 35
1

Составить программу назначения стипендии по результатам сессии

11.04.2012, 01:15. Показов 4418. Ответов 10
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Составить программу назначения стипендии студентам по результатам сессии, используя следующие правила:
1) если все оценки 5, назначается повышенная стипендия;
2) если все оценки 4 и 5, назначается обычная стипендия;
3) если есть оценка 3, стипендия не назначается.
В результате работы программы должен быть напечатан список группы с
оценками и средним баллом каждого студента и два списка фамилий (назначенных на повышенную и обычную стипендию).
помогите доработать код
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
56
57
58
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace ConsoleApplication6
{
    class Program
    {
        public struct StudentsI
        {
            private string name;
            public string surname;
            public string firstname;
            public int marks;
 
            public string Name
            {
                get { return name; }
                set { name = value; }
            }
 
        }
        static void Main(string[] args)
        {
            Console.WriteLine("Введите количество учеников");
            int n = int.Parse(Console.ReadLine());
            StudentsI[] students = new StudentsI[n];
            int i;
            for (i = 0; i <= n - 1; i++)
            {
                Console.WriteLine("Введите Фамилию {0}-ого студента", i + 1);
                students[i].surname = Console.ReadLine();
                Console.WriteLine("Введите Имя {0}-ого студента", i + 1);
                students[i].Name = Console.ReadLine();
                Console.WriteLine("Введите Отчество {0}-ого студента", i + 1);
                students[i].firstname = Console.ReadLine();
                Console.WriteLine("Введите оценки {0}-ого студента", i + 1);
                students[i].marks = int.Parse(Console.ReadLine());
                Console.ReadLine();
            }
            int max = students[0].marks;
            int min = students[0].marks;
 
            List<StudentsI> lst = new List<StudentsI>();
            lst = students.ToList();
            var avg = lst.Average(x => x.marks);
            var count = lst.Where(x => x.marks >= 5).Count();
            var max1 = lst.Max(x => x.marks);
            var min1 = lst.Min(x => x.marks);
            Console.WriteLine("список группы = " + );
            Console.WriteLine("оценки = " + max1);
            Console.WriteLine("средний балл = " + min1);
            Console.ReadKey();
        }
 
    }
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
11.04.2012, 01:15
Ответы с готовыми решениями:

Составить программу назначения стипендии студентам по результатам сессии
Составить программу назначения стипендии студентам по резуль- татам сессии, используя следующие...

Составить программу назначения стипендии студентам по результатам сессии
Составить программу назначения стипендии студентам по результатам сессии,используя следующие...

Составить программу назначения стипендии студентам по результатам сессии
Выводится только тот, кого вводишь первым.. А нужно и тех и других..Помогите {Составить программу...

Составить программу назначения стипендии студентам по результатам сессии
Вот эту посмотрите тоже нифига у меня не работает условие такое Составить программу назначения...

10
44 / 45 / 15
Регистрация: 11.08.2010
Сообщений: 226
11.04.2012, 13:42 2
Вот держи, правда я не проверял
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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
using System;
using System.Collections.Generic;
using System.Linq;
 
namespace ConsoleApplication6
{
    class Program
    {
        public struct StudentsI
        {
            public StudentsI(string name, List<int> marks, int type)
            {
                Name = name;
                Marks = marks;
                StType = type;
            }
 
            public string Name { get; private set; }
 
            public List<int> Marks { get; private set; }
 
            public int StType { get; private set; }
 
        }
        static void Main(string[] args)
        {
            Console.WriteLine("Введите количество учеников");
            string studentsCount = Console.ReadLine();
            if (string.IsNullOrEmpty(studentsCount))
            {
                Console.WriteLine("Error!");
                return;
            }
 
            int n = int.Parse(studentsCount);
            List<StudentsI> students = new List<StudentsI>(n);
 
            for (int i = 0; i < n; ++i)
            {
                Console.WriteLine("Введите ФИО {0}-ого студента...", i + 1);
                string name = Console.ReadLine();
                Console.WriteLine("Введите оценки {0}-ого студента", i + 1);
                string stringMarks = Console.ReadLine();
                string[] smarks = stringMarks.Split(new string[] { ","}, StringSplitOptions.RemoveEmptyEntries);
 
                List<int> marks = new List<int>(smarks.Length);
                foreach (string smark in smarks)
                {
                    int mark;
                    if (!int.TryParse(smark, out mark))
                        return;
                    marks.Add(mark);
                }
 
                int type = -1; // None
                double avg = marks.Average();
                if (avg >= 5)
                    type = 1; // Повышеная
                else if (avg < 5 && avg >= 4)
                    type = 2; // Обычная
                if (marks.Any(x => x == 3))
                    type = 3; // Нету
 
                students.Add(new StudentsI(name, marks, type));
            }
 
            foreach (StudentsI st in students)
            {
                string stype = string.Empty;
                if (st.StType == 1)
                    stype = "Повышеная!";
                else if (st.StType == 2)
                    stype = "Обачная";
                else if (st.StType == 3)
                    stype = "Без степендияя";
 
                Console.WriteLine("Имя: {0}, Средний бал: {1}, Степендия: {2}", st.Name, st.Marks.Average(), stype);
            }
            Console.ReadKey();
        }
 
    }
}
1
В астрале
Эксперт С++
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
11.04.2012, 14:31 3
Составить программу назначения стипендии студентам по результатам сессии Там же был ответ. Чем не понравилось?
0
2 / 2 / 0
Регистрация: 26.02.2012
Сообщений: 35
11.04.2012, 16:51  [ТС] 4
код не эффективный плюс всё должно вводится с клавиатуры, и потом только выдавались списки
0
В астрале
Эксперт С++
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
11.04.2012, 18:39 5
икотэ, Это по какой же причине он не эффективный? оО
Ввод с клавиатуры туда добавить запросто.
0
2 / 2 / 0
Регистрация: 26.02.2012
Сообщений: 35
11.04.2012, 22:50  [ТС] 6
он очень большой, и смысл? когда можно написать короче

Добавлено через 2 часа 5 минут
Ошибка: Резервное поле для автоматически реализованного свойства"ConsoleApplication6.Program.StudentsI.Marks" должно быть полностью определено до возврата управления в вызывающий метод. Попробуйте использовать вызов конструктора по умолчанию из инициализатора конструктора.
что за ошибка? как её убрать?
0
В астрале
Эксперт С++
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
12.04.2012, 00:46 7
икотэ, И что что можно написать "проще"?
Он написал в ООП стиле. Каждая сущность логически разделена.
Ну и 140 строк это не большой код.
0
2 / 2 / 0
Регистрация: 26.02.2012
Сообщений: 35
18.04.2012, 15:53  [ТС] 8
объясните этот фрагмент кода
C#
1
2
3
4
5
6
7
8
int type = -1; // None
                double avg = marks.Average();
                if (avg >= 5)
                    type = 1; // Повышеная
                else if (avg < 5 && avg >= 4)
                    type = 2; // Обычная
                if (marks.Any(x => x == 3))
                    type = 3; // Нету
0
В астрале
Эксперт С++
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
18.04.2012, 16:15 9
икотэ, Там же комменты стоят...

Считаем среднее арифметическое оценок.
Проверяем. Если больше или равно 5 - стипендия повышенная.
Иначе если 4 - стипендия обычная.
Если среди оценок встречается тройка - стипендии нету.
0
2 / 2 / 0
Регистрация: 26.02.2012
Сообщений: 35
18.04.2012, 22:40  [ТС] 10
можно через цикл написать?
C#
1
2
int type = -1; // None
double avg = marks.Average();
Добавлено через 4 минуты
что здесь делают?
C#
1
2
3
4
5
6
7
   foreach (string smark in smarks)
                {
                 int mark;
                 if (!int.TryParse(smark, out mark))
                 return;
                 marks.Add(mark);
                }
0
В астрале
Эксперт С++
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
19.04.2012, 00:18 11
икотэ, Читай учебник. Ну серьезно. Все ведь можно найти даже просто погуглив.
0
19.04.2012, 00:18
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
19.04.2012, 00:18
Помогаю со студенческими работами здесь

Составить программу назначения стипендии студентам по результатам сессии
составить программу назначения стипендии студентам по результатам сессии, используя следущие...

Составить программу назначения стипендии студентам по результатам сессии.
Составить программу назначения стипендии студентам по результатам сессии,используя следующие...

Составить программу назначения стипендии студентам по результатам сессии, используя следующие правила
Составить программу назначения стипендии студентам по результатам сессии, используя следующие...

(Записи) Составить программу назначения стипендии студентам по результатам сессии, используя следующие правила
Составить программу назначения стипендии студентам по результатам сессии, используя следующие...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Как проводить научные вычисления на Python
InfoMaster 15.01.2025
Python стал одним из наиболее востребованных языков программирования в области научных вычислений благодаря своей простоте, гибкости и обширной экосистеме специализированных библиотек. Научные. . .
Создание игры типа Minecraft на PyGame/Python: пошаговое руководство
InfoMaster 15.01.2025
В данном руководстве мы рассмотрим процесс создания игры в стиле Minecraft с использованием библиотеки PyGame на языке программирования Python. Этот проект идеально подходит как для начинающих. . .
Как создать свою первую игру в стиле Doom на Unreal Engine
InfoMaster 15.01.2025
Разработка шутера от первого лица в стиле классического Doom представляет собой увлекательное путешествие в мир игрового программирования, где сочетаются творческий подход и технические навыки. . . .
Параллельное программировани­е: основные технологии и принципы
InfoMaster 15.01.2025
Введение в параллельное программирование Параллельное программирование представляет собой фундаментальный подход к разработке программного обеспечения, который позволяет одновременно выполнять. . .
Как написать микросервис на C# с Kafka, MediatR, Redis и GitLab CI/CD
InfoMaster 15.01.2025
В современной разработке программного обеспечения микросервисная архитектура стала стандартом де-факто для создания масштабируемых и гибких приложений. Этот подход позволяет разделить сложную систему. . .
Что такое CQRS и как это реализовать на C# с MediatR
InfoMaster 15.01.2025
Концепция CQRS и её роль в современной разработке В современном мире разработки программного обеспечения архитектурные паттерны играют ключевую роль в создании масштабируемых и поддерживаемых. . .
Как настроить CI/CD с Azure DevOps
InfoMaster 15.01.2025
CI/ CD, или непрерывная интеграция и непрерывное развертывание, представляет собой современный подход к разработке программного обеспечения, который позволяет автоматизировать и оптимизировать процесс. . .
Как настроить CI/CD с помощью Jenkins
InfoMaster 15.01.2025
Введение в CI/ CD и Jenkins В современной разработке программного обеспечения непрерывная интеграция (CI) и непрерывная доставка (CD) стали неотъемлемыми элементами процесса создания качественных. . .
Как написать микросервис на Go/Golang с Kafka, REST и GitHub CI/CD
InfoMaster 14.01.2025
Определение микросервиса, преимущества использования Go/ Golang Микросервис – это архитектурный подход к разработке программного обеспечения, при котором приложение состоит из небольших, независимо. . .
Как написать микросервис с нуля на C# с RabbitMQ, CQRS, Swagger и CI/CD
InfoMaster 14.01.2025
В современном мире разработки программного обеспечения микросервисная архитектура стала стандартом де-факто для создания масштабируемых и гибких приложений. Этот архитектурный подход предполагает. . .
Как создать интернет-магазин на PHP и JavaScript
InfoMaster 14.01.2025
В современном мире электронная коммерция стала неотъемлемой частью бизнеса. Создание собственного интернет-магазина открывает широкие возможности для предпринимателей, позволяя достичь большей. . .
Как написать Тетрис на Ассемблере
InfoMaster 14.01.2025
Тетрис – одна из самых узнаваемых и популярных компьютерных игр, созданная в 1984 году советским программистом Алексеем Пажитновым. За прошедшие десятилетия она завоевала симпатии миллионы людей по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru