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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 43, средняя оценка - 4.70
kvazim
0 / 0 / 0
Регистрация: 17.12.2009
Сообщений: 6
#1

Описание класса "Студенческая группа" - C++

17.12.2009, 23:07. Просмотров 5334. Ответов 10
Метки нет (Все метки)

Добрый вечер! Нужна помощь в составлении программы.
Условие: Описать класс "студенческая группа". Предусмотреть возможность работы с переменным число студентов, поиска студента по какому-либо признаку(например, по фамилии, дате рождения или номеру телефона), добавления и удаления записей, сортировки по разным полям.
Написать программу, демонстрирующую работу с этим классом. Программа должна содержать меню, позволяющее осуществить проверку всех методов класса.
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
template <class type>
#include <stdio.h>
#include <iostream>
#include <cstring>
using namespace std;
class group{
        private:
        
        type t;
        struct date{
            int day,month,year;
        }; 
        struct student{
            char name[15];/* имя */
            char surname[20]; /* фамилия */
            int year; /* курс */
            struct date birth; /* дата рождения */
        };
        student massiv_studentov[30];
        static int i = 0;
    
        public:
        
        void vvod(){
            st = new student;
            char name[15], surname[20];
            int k,year;
            struct date birth;
            cout<<"Введите количество студентов";
            cin>>k;
            cout<<"Введите имя студента";
            cin>>name;
            cout<<"Введите фамилию студента";
            cin>>surname;
            cout<<"Введите курс обучения";
            cin>>year;
            cout<<"Введите дату рождения\n Число:%d\n Месяц:%d\n Год:\n";
            cin>>birth.day>>birth.month>>birth.year;
            
            st.name = name;
            st.surname = surname;
            st.year = year;
            st.birth.day = birth.day;
            st.birth.month = birth.month;
            st.birth.year = birth.year;
            massiv_studentov[i+1] = st;
        };
        /*void find(t){
            int i;
            for(i=1;i<30;i++){
            if(t==st[i])
            cout<<"Сведения о найденном студенте\n";
            cout<<"Имя студента "<<st[i].name<<"\n";
            cout<<"Фамилия студента"<<st[i].surname<<"\n";
            cout<<"Курс обучения"<<st[i].year<<"\n";
            сout<<"Дата рождения";
            cout<<" "<<st[i].birth.day<<"."<<st[i].birth.month<<"."<<st[i].birth.year<<"\n";}
        };*/
        
    }
Так выглядит мой класс, но он не доработан, никак не могу придумать каким образом написать функцию поиска и как правильно обеспечить заполнение полей. Буду очень благодарен.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.12.2009, 23:07     Описание класса "Студенческая группа"
Посмотрите здесь:

Составить описание класса "время" C++
C++ Описать класс "студенческая группа"
C++ Класс "Студент", реализовать динамический список "Группа студентов"
Создание объекта класса сразу после его описания (между "}" и ";") C++
Составить описание класса "3D вектор". Объявить объекты класса и продемонстрировать работу методов C++
ткните мордой плз на описание конструкций типа defect?"brak":"goden" C++
Разработать класс "студенческая группа". Предусмотреть возможность работы с переменным числом студентов C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
niXman
Эксперт C++
 Аватар для niXman
3134 / 1446 / 49
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
18.12.2009, 00:14     Описание класса "Студенческая группа" #2
убей то что сделал и некому не показывай
для начала опиши структуру представляющую студента. далее, массив этих структур, операции со студентами(добавить, удалить), поиск возвращающий итератор, и в последнюю очередь сортировку.
kvazim
0 / 0 / 0
Регистрация: 17.12.2009
Сообщений: 6
18.12.2009, 00:16  [ТС]     Описание класса "Студенческая группа" #3
почему убить?)) там вроде не совсем так... или совсем?))
niXman
Эксперт C++
 Аватар для niXman
3134 / 1446 / 49
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
18.12.2009, 00:17     Описание класса "Студенческая группа" #4
там совсем не так
kvazim
0 / 0 / 0
Регистрация: 17.12.2009
Сообщений: 6
18.12.2009, 00:20  [ТС]     Описание класса "Студенческая группа" #5
Разве я неверно описал структуру для студента? по-другому пока не придумаю, как написать =)
CyBOSSeR
Эксперт C++
 Аватар для CyBOSSeR
2297 / 1667 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
18.12.2009, 00:32     Описание класса "Студенческая группа" #6
Никаких cin, cout и др. средств ввода/вывода класс такого рода не должен содержать, никогда, ни про каких обстоятельствах.
kvazim
0 / 0 / 0
Регистрация: 17.12.2009
Сообщений: 6
18.12.2009, 00:36  [ТС]     Описание класса "Студенческая группа" #7
Это же отдельная функция ввода, разве я неправильно описал её? или я что-то не так понимаю)) чего-то вы меня совсем запутали =)
niXman
Эксперт C++
 Аватар для niXman
3134 / 1446 / 49
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
18.12.2009, 00:42     Описание класса "Студенческая группа" #8
kvazim, верно сказал CyBOSSeR, класс должен получать аргументы, а не добывать из сам.
нет, можно конечно реализовать класс правильно, чтоб он добывал значения сам, при помощи петтерна. но не думаю что тебе это доставит удовольствие.

Добавлено через 1 минуту
в с++ есть строки. для чего это: char name[15]; ??
kvazim
0 / 0 / 0
Регистрация: 17.12.2009
Сообщений: 6
18.12.2009, 00:44  [ТС]     Описание класса "Студенческая группа" #9
Я не знаю переменную типа строк, разве это не подойдёт?)) так в учебнике было описано)
niXman
Эксперт C++
 Аватар для niXman
3134 / 1446 / 49
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
18.12.2009, 00:53     Описание класса "Студенческая группа" #10
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
struct student{
   std::string name;/* имя */
   std::string surname; /* фамилия */
   int year; /* курс */
   struct date birth; /* дата рождения */
};
...
...
class group:public std::vector<student> {
public:
   тут конструктор
   тут еще что-то
};
 
а работает это так:
 
student student;
group group;
std::cin >> student.name >> остальные поля...
group.push_back(student); так добавляешь
 
group::iterator iter = group.begin();
for ( ; iter != group.end(); iter++ ) { так итерируешься
   std::cout << iter->name << выводишь
}
разве так не проще?
допиши функцию поиска, сортировки, и остальное. с контейнерами это просто.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.12.2009, 00:56     Описание класса "Студенческая группа"
Еще ссылки по теме:

C++ Описание классов. Классы "Шар" и "Ящик для шаров"
Ошибки "Expression syntax" и "Unreachable code" при реализации класса матриц C++
C++ Реализация класса "Студент" и наследование от него класса "Аспирант"
C++ Построить описание класса "Органзация"
C++ Классы "Студент" ,"Группа" - не работает метод ввода и вывода

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

Или воспользуйтесь поиском по форуму:
kvazim
0 / 0 / 0
Регистрация: 17.12.2009
Сообщений: 6
18.12.2009, 00:56  [ТС]     Описание класса "Студенческая группа" #11
Спасибо большое, завтра с этого места продолжу) посмотрю...
Yandex
Объявления
18.12.2009, 00:56     Описание класса "Студенческая группа"
Ответ Создать тему
Опции темы

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