0 / 0 / 1
Регистрация: 23.05.2012
Сообщений: 35
1

Написать программу, содержащую в списке сведения о сдаче студентами I курса кафедры "ЭВМ" сессии

23.05.2012, 22:13. Показов 1484. Ответов 6
Метки нет (Все метки)

Добрый вечер, уважаемые форумчане! Семестр кончается, а задачу надо бы сдать!
Задание. Написать программу создания файла в соответствии с вариантом задания, указанным в табл.3 . Предполагается, что объем данных позволяет хранить информацию в памяти программы в виде динамического списка.
Обеспечить пользовательский интерфейс, позволяющий производить операции добавления записи, удаления записи, сохранения в файл и восстановления списка из файла, а также сортировку списка по заданному полю и вывод всего списка на стандартное устройство вывода.
Вариант задания:
Написать программу, содержащую в списке сведения о сдаче студентами I курса кафедры «ЭВМ» сессии. Структура записи: индекс группы, фамилия студента, оценки по пяти экзаменам, признак участия в общественной работе: «I» — активное участие, «О» — неучастие. Количество записей — 30.
В C# делал только консольные приложения с массивом(сортировка, нахождение макс/мин и пр.) Тут надо сделать с формами. Даже не знаю с чего начать, подскажите кодом или статьёй по моей теме. Можно не очень рационально. Главное, чтобы было понятно и просто. Заранее премного благодарен!
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.05.2012, 22:13
Ответы с готовыми решениями:

Создать файл, содержащий сведения о удачи студентами 1 курса кафедры "ЭВМ" сессии
Создать файл, содержащий сведения о удачи студентами 1курса кафедры "ЭВМ" сессии. Структура записи:...

Создать файл, содержащий сведения о сдаче студентами группы "ПО-21" сессии. Написать программу зачисления студентов груп
А. Создать файл, содержащий сведения о сдаче студентами группы "ПО-21" сессии. Структура записи:...

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

Создать массив записей, содержащий сведения о сдаче студентами 1 курса сессии
Создать массив записей, содержащий сведения о сдаче студентами 1 курса сессии. Структура записи -...

6
352 / 331 / 49
Регистрация: 12.12.2011
Сообщений: 563
23.05.2012, 22:45 2
Ну начать надо с ознакомления с строго типизированными динамическими списками, затем описать класс "Студент" и создать список из экземпляров этого класса

Класс Студент
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
    class Student
    {
        public string Group { get; set; }
        public string Name { get; set; }
        public string Social { get; set; }
        public Dictionary<string, int> Scores { get; set; }
 
        public Student(string name, string group, string social, Dictionary<string, int> scores )
        {
            this.Scores = scores;
            this.Group = group;
            this.Name = name;
            this.Social = social;
        }
    }

Ладно, класс я описал сам.
Пример использования класса
C#
1
2
3
4
5
6
7
8
9
10
List<Student> students = new List<Student>();
            Student student = new Student("Пупкин Василий", "#111", "I", new Dictionary<string, int>()
                                                                             {
                                                                                 {"Предмет 1", 5},
                                                                                 {"Предмет 2", 4},
                                                                                 {"Предмет 3", 3},
                                                                                 {"Предмет 4", 2},
                                                                                 {"Предмет 5", 1},
                                                                             });
            students.Add(student);
1
0 / 0 / 1
Регистрация: 23.05.2012
Сообщений: 35
24.05.2012, 00:20  [ТС] 3
Цитата Сообщение от Yukikaze Посмотреть сообщение
Ну начать надо с ознакомления с строго типизированными динамическими списками, затем описать класс "Студент" и создать список из экземпляров этого класса
Если честно, то из этих многобукавок по ссылке понял минимум. И до сих пор не понимаю как этот минимум мне применить. List(T) - это список, он мне нужен для решения задачи - понятно.
Цитата Сообщение от Yukikaze Посмотреть сообщение
Класс Студент
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
    class Student
    {
        public string Group { get; set; }
        public string Name { get; set; }
        public string Social { get; set; }
        public Dictionary<string, int> Scores { get; set; }
 
        public Student(string name, string group, string social, Dictionary<string, int> scores )
        {
            this.Scores = scores;
            this.Group = group;
            this.Name = name;
            this.Social = social;
        }
    }

Ладно, класс я описал сам.
Пример использования класса
C#
1
2
3
4
5
6
7
8
9
10
List<Student> students = new List<Student>();
            Student student = new Student("Пупкин Василий", "#111", "I", new Dictionary<string, int>()
                                                                             {
                                                                                 {"Предмет 1", 5},
                                                                                 {"Предмет 2", 4},
                                                                                 {"Предмет 3", 3},
                                                                                 {"Предмет 4", 2},
                                                                                 {"Предмет 5", 1},
                                                                             });
            students.Add(student);
Описание класса понятно. С классами работал на C++, но опять же работал с целочисленными переменными в классах и математическими задачами. Поэтому не понятна эта строка
C#
1
public Dictionary<string, int> Scores { get; set; }
Т.е. это поле может в себе хранить сразу два значения? а get и set что значат?

В примере задания класа задается класс вручную в коде, я правильно понимаю? Просто думал, что раз будут кнопки "добавить" и "удалить" запись, то можно было бы просто описать класс, описать добавление/удаление новых полей(т.е. ссылки на предыдущее и следующее поле) и добавлять записи по нажатию на кнопку до необходимого количества.

Извините за обильное кол-во вопросов, но я хочу разобраться.
0
352 / 331 / 49
Регистрация: 12.12.2011
Сообщений: 563
24.05.2012, 00:38 4
Цитата Сообщение от Paul eSby Посмотреть сообщение
Поэтому не понятна эта строка
Благо в C# практически все классы имеют "говорящие" название, вот например Dictionary - Словарь, словарь хранит в себе список из комбинаций <Ключ, Значение>, а нашем случае <"Название предмета", оценка>

Цитата Сообщение от Paul eSby Посмотреть сообщение
Т.е. это поле может в себе хранить сразу два значения? а get и set что значат?
Это не поле, это свойство (Field - поле, Property - свойство), а get и set как раз и говорят о том что это свойство, а в данном случае это автоматическое свойство

Цитата Сообщение от Paul eSby Посмотреть сообщение
В примере задания класа задается класс вручную в коде, я правильно понимаю? Просто думал, что раз будут кнопки "добавить" и "удалить" запись
Нам ни что и не мешает заполнять это дело кнопками, например объявим поле students глобальным, а на кнопку повесим
C#
1
students.Add(new Student(/* а тут например: textBox1.Text, textBox2.Text, textBox3.Text, new Dictionary<string, int>() { ну а тут мы заполним словарь }*/))
ЗЫ Учитель из меня ужасный т.к. меня никто не учил да и я сам нигде не учился, по этому пойми меня правильно
0
266 / 256 / 43
Регистрация: 18.03.2012
Сообщений: 506
24.05.2012, 00:40 5
Может вам сначала прочитать немного о языке? Шилдта, например.
C#
1
public Dictionary<string, int> Scores { get; set; }
Это частный случай generic коллекции, и, грубо говоря, Dictionary представляет из себя массив пар (ключ, значение).
{get; set;} - автоматически реализуемые свойства для доступа к объекту. Компилятор разворачивает это примерно в следующее:
C#
1
2
3
4
5
6
7
8
9
private Dictionary<string, int> _Scores;
public Dictionary<string, int> get_Scores()
{
    return this._Scores;
}
public void set_Scores(Dictionary<string, int> value)
{
    this._Scores = value;
}
0
352 / 331 / 49
Регистрация: 12.12.2011
Сообщений: 563
24.05.2012, 00:43 6
А вообще вам лучше бы посмотреть в сторону DataGridView и его свойства DataSource
0
0 / 0 / 1
Регистрация: 23.05.2012
Сообщений: 35
25.05.2012, 14:35  [ТС] 7
Итак, задача решена, кроме одного аспекта.
Как выводить класс на DataGrid?
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.05.2012, 14:35
Помогаю со студенческими работами здесь

Создать запись, содержащую сведения о сдаче студентами сессии
А. Создать запись, содержащую сведения о сдаче студентами сессии. Структура записи: индекс ...

Создать файл, содержащий сведения о сдаче студентами сессии
1) Создать файл, содержащий сведения о сдаче студентами сессии. Структура записи: индекс группы,...

Сформировать массив, содержащий сведения о сдаче студентами сессии
натолкните на раздумия.. Сформировать массив, содержащий сведения о сдаче студентами сессии....

Создать файл, содержащий сведения о сдаче студентами сессии
Структура записи: индекс группы, фамилия студента, оценки по пяти экзаменам, признак участия в...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru