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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 21, средняя оценка - 4.90
JD Stive
2 / 2 / 1
Регистрация: 28.01.2010
Сообщений: 71
#1

Написать класс Student - C++

30.09.2010, 18:17. Просмотров 2693. Ответов 22
Метки нет (Все метки)

Написать класс Student, содержащий сведения: фамилия, имя, отчество студента, оценки по m экзаменам. Написать программу, которая выводит количество студентов, сдавших сессию только на «4» и «5», и количество студентов, имеющих «2» хотя бы по одному экзамену. Вывести эти показатели и в процентном отношении.
Добавить в класс Student функцию-член класса, определяющую, получает ли студент стипендию, и в главной программе организовать подсчёт количества студентов в группе, получающих стипендию.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
CyBOSSeR
Эксперт C++
 Аватар для CyBOSSeR
2297 / 1667 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
01.10.2010, 01:41     Написать класс Student #21
Lavroff, на самом деле здесь двоякая ситуация. С одной стороны гораздо эффективнее вернуть ссылку на двумерный вектор, но с другой это гораздо опаснее возврата по значению, ибо константность всегда можно снять и попортить данный массив без ведома класса, им владеющим.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ForEveR
Модератор
Эксперт С++
 Аватар для ForEveR
7958 / 4720 / 319
Регистрация: 24.06.2010
Сообщений: 10,525
Завершенные тесты: 3
01.10.2010, 01:50     Написать класс Student #22
CyBOSSeR, Тоже верно.
Но тогда как быть с выводом в общем случае?
Создавать новую функцию?
Допустим:

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
class A
{
public:
    A() {}
    ~A() {}
    void SetM(int m_) {m=m_;}
    void SetN(int n_) {n=n_;}
    const int GetN() const {return n;}
    const int GetM() const {return m;}
private:
    int m;
    int n;
};
 
void input(A& Ob)
{
     int n, m;
     std::cin>>n;
     Ob.SetN(n);
     std::cin>>m;
     Ob.SetM(m);
}
 
void output(const A& Ob)
{
    std::cout<<Ob.GetN()<<' '<<Ob.GetM()<<'\n';
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.10.2010, 09:16     Написать класс Student
Еще ссылки по теме:

C++ Создать класс student, который использует файл student.txt
C++ Определить класс с именем STUDENT. Написать программу на C++
Класс valarray и Student C++
C++ Реализовать класс Student
C++ Базовый класс Student и производный класс Aspirant

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

Или воспользуйтесь поиском по форуму:
easybudda
01.10.2010, 09:16     Написать класс Student
  #23

Не по теме:

Немного холивара...

Цитата Сообщение от CyBOSSeR Посмотреть сообщение
константность всегда можно снять и попортить данный массив без ведома класса...
Вот мне за это С++ и не нравится - вроде носятся с этой безопасностью типов, как та курица с яйцом, а всё равно, чтобы действительно безопасно было, приходится какие-то несуразные конструкции городить. Ну или забить на параноидально-безупречную безопасность. Вот в С в принципе много ловушек, на которые нарваться можно, но... С одной стороны это заставляет внимательнее относиться к тому, что пишешь, а с другой отсутствие запретов придаёт языку особую гибкость, которая напрочь отсутствует во всех языках высокого уровня.
Это я к тому, что по-моему правильнее не бояться потенциально небезопасных конструкций, как чёрт ладана, а использовать их именно так, как они задуманы. Если возвращает функция ссылку на константные данные, значит и не нужно пытаться их менять. Лучше над логикой программы подумать и сделать так, чтобы и данные не испортить и задачу выполнить...

Yandex
Объявления
01.10.2010, 09:16     Написать класс Student
Ответ Создать тему
Опции темы

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