Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
MechanicPaul
2 / 2 / 0
Регистрация: 25.05.2013
Сообщений: 157
#1

Проектирование таблиц с данными - C++

25.05.2013, 13:27. Просмотров 400. Ответов 6
Метки нет (Все метки)

В лабораторной сказано что нужно создать таблицу в которой будут столбцы "имя студента", "номер группы", "экзамены". столбец экзамен делится ещё на столбы 1..n - количество предметов. каждый столбец такой состоит из названия "предмета" и "оценки" за него. Важное условие, у студентов разных группы могут быть различные экзамены, у студентов одинаковых групп только одинаковые.
Проблема
Я не могу придумать взаимодействие и иерархию классов нормальную. Помогите пожалуйста.

Мои старания
Я на данный момент придумал такую иерархию:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
class Exams{
 
string subject;
int mark; //
 
}
 
class Student{
    string studentFio;
    List<Exams> exams;
}
 
class Group{
 
List<Student> students;  //список студентов группы
string numberGroup; //номер группы
List<Exams> exams;  //список экзаменов для каждой группы
}
каждая группа содержит студентов список, номер группы и список экзаменов которые студенты этой группы должны здавать. Так как нужно чтобы у каждого студента был массив оценок за каждый экзамен, я решил в поля класса Student, так же добавить список экзаменов. Вот это мне конечно не нравиться, что в группе и в студенте дублируется одно и тоже, но больше не придумал ничего нормального пока. Собственно поэтому и обратился за помощью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.05.2013, 13:27     Проектирование таблиц с данными
Посмотрите здесь:

C++ Проектирование и работа с классами
C++ курсовое проектирование на с++
C++ Проектирование и реализация класса
Проектирование ОО архитектуры C++
C++ Создать два класса: PointXY с данными x, y (точка на плоскости в декартовых координатах) и PointPolar с данными r, phi (точка на плоскости в полярных
C++ Проектирование программы
Проектирование класса C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
lemegeton
2917 / 1346 / 133
Регистрация: 29.11.2010
Сообщений: 2,720
25.05.2013, 23:40     Проектирование таблиц с данными #2
Приведите к третьей нормальной форме и воспользуйтесь паттерном Data Access Object.
ninja2
230 / 186 / 7
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1
26.05.2013, 00:02     Проектирование таблиц с данными #3
Цитата Сообщение от MechanicPaul Посмотреть сообщение
Вот это мне конечно не нравиться, что в группе и в студенте дублируется одно и тоже, но больше не придумал ничего нормального пока.
Да нормально. Для студентов экзамены с оценками за экзамены, а для группы у тебя просто экзамены. Не парся по этому поводу. Тут просто в этих классах нету никакого взаимодействия это просто можно сказать классы структуры. Ну явно не классы а структуры это Exams и Student.
MechanicPaul
2 / 2 / 0
Регистрация: 25.05.2013
Сообщений: 157
26.05.2013, 00:11  [ТС]     Проектирование таблиц с данными #4
Цитата Сообщение от lemegeton Посмотреть сообщение
Приведите к третьей нормальной форме
Это вы о чём?
lemegeton
2917 / 1346 / 133
Регистрация: 29.11.2010
Сообщений: 2,720
26.05.2013, 00:50     Проектирование таблиц с данными #5
Концепция проектирования реляционных баз данных. Нормальная форма.
MechanicPaul
2 / 2 / 0
Регистрация: 25.05.2013
Сообщений: 157
26.05.2013, 01:07  [ТС]     Проектирование таблиц с данными #6
Цитата Сообщение от lemegeton Посмотреть сообщение
Концепция проектирования реляционных баз данных. Нормальная форма.
Не, я не буду с БД работать, мне достаточно на экран вывести отделяя границы символами или через какую-то компоненту типа JTable например на Java...
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.05.2013, 09:50     Проектирование таблиц с данными
Еще ссылки по теме:

C++ А.Александреску - Современное проектирование на C++
Проектирование классов C++
C++ Проектирование технологических установок
Проектирование ООП программы C++
Проектирование настольных игр C++

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

Или воспользуйтесь поиском по форуму:
lemegeton
2917 / 1346 / 133
Регистрация: 29.11.2010
Сообщений: 2,720
26.05.2013, 09:50     Проектирование таблиц с данными #7
Цитата Сообщение от MechanicPaul Посмотреть сообщение
Не, я не буду с БД работать
Вы уже с БД работаете. Не путайте БД с реализацией популярных СУБД.

БД -- это общая концепция, массив с возможностью поиска -- уже БД.
Популярная СУБД -- обычно довольно сложное приложение или модуль, позволяющий работать с определенными типами довольно сложных БД.

Если вы хотите сделать гибкую структу для работы с данными, то не парьтесь -- уже все придумано, осталось только применить.
Yandex
Объявления
26.05.2013, 09:50     Проектирование таблиц с данными
Ответ Создать тему
Опции темы

Текущее время: 09:06. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru