![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Помогите пожалуйста!!! В программирование я еще совсем новичек поэтому прошу вас уважаемые программисты помочь кто чем может в реализации программы с графическим интерфейсом, которая реализует ввод
списка студенческой группы , а для каждого из введенных в список группы, реализует ввод одногруппников и показывает побывавших у него в гостях. Она должна определять, есть ли люди, побывавшие у всех в гостях. |
#2
|
|||
|
|||
![]() Тебе нужна БД. В принципе, можно обойтись, но с БД будет проще.
В БД будет 2 таблички. Первая [PEOPLE] - список группы, состоит из 2х полей: ID (идннтификатор, целое, автоинкремент) и Name (имя студента, строковое). Вторая табличка [GUEST_LOG] будет тоже из 2х полей. В ней будем хранить информацию о том, кто у кого побывал в гостях. Она тоже состоит из 2х полей: HOLDER_ID (целое, ссылка на студента-хозяина) и GUEST_ID (целое, ссылка на студента-гостя) /ссылки указывают на поле ID из первой таблицы/. Теперь о том, как получить список студентов, побывавших в гостях у всех. Тут есть несколько методов решешения. Объясню наиболее понятный и простой. Что значит в нашей архитектуре, что человек побывал у всех в гостях? Это значит, что во второй таблице для него как GUIST_ID будет N записей. При этом, N будет равно кол-ву студентов группы (т.е. кол-ву записей в первой табличке) минус 1 (сам у себя в гостях не побываешь). Соотвсетсвенно, можно сделать такой запрос: Код:
SELECT P.NAME, COUNT(P.ID) FROM PEOPLE P LEFT JOIN GUEST_LOG G ON P.ID = G.GUEST_ID GROUP BY P.NAME ЗЫ. Это можно сделать одним запросом, но для новичка будет слишком сложно. ЗЗЫ. То же самое можно легко сделать и без БД, но писать придется больше. ЗЗЗЫ. Хочешь готовую программу - велкам в раздел "Работа". |