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

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

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

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

25.05.2013, 13:27. Просмотров 409. Ответов 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++
21. В цехе находятся 8 станков. Каждый станок имеет свое время обработки заготовки и свое количество материала в кг., уходящего в отходы....

Проектирование ОО архитектуры - C++
Интересно мнение публики. &quot;Программирование в терминах интерфейсов&quot; Вопрос такой: как правильно конструировать едино-образный интерфейс? ...

Проектирование программы - C++
Здравствуйте! Подскажите пожалуйста, какими средствами эффективнее проектировать и рекодить программу? Тема стала актуальна с...

Проектирование класса - C++
Доброго времени суток. Имеется класс Player, в нём — приватный объект типа Settings. Как наиболее лаконично обратиться извне к публичным...

Проектирование классов - C++
Доброго здравия жителям Земли. Вопрос таков: нужно ли в своём проекте жёстко скрывать реализацию классов, городить кучу интерфейсов как...

Проектирование ООП программы - C++
Привет, начал писать большие программы, без планирования, в итоге , приходится переписывать по 100 раз, что посоветуете, как правильно...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
lemegeton
2918 / 1347 / 134
Регистрация: 29.11.2010
Сообщений: 2,721
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
2918 / 1347 / 134
Регистрация: 29.11.2010
Сообщений: 2,721
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++
Собственно вопрос не совсем по программированию :) Хочу купить бумажный вариант, но смущает, что она 2008 года и в шаблонах используется...

Проектирование и реализация класса - C++
Кто знает как написать программу на тему микроволновая печь скажите плиз!!!! Микроволновая печь Свойства: • состояние (вкл. /...

Проектирование настольных игр - C++
Доброго времени суток! Хочу сделать приложение небезизвестных настольных игр: крестики-нолики, шашки, шахматы, возможно что-то еще для...

Проектирование и работа с классами - C++
Задали лабораторную в институте. Не знаю как сделать, люди помогите пожалуйста. Спроектировать и реализовать класс Complex для работы...


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

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

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

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

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