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

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

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 21, средняя оценка - 4.90
JD Stive
2 / 2 / 1
Регистрация: 28.01.2010
Сообщений: 71
30.09.2010, 18:17     Написать класс Student #1
Написать класс Student, содержащий сведения: фамилия, имя, отчество студента, оценки по m экзаменам. Написать программу, которая выводит количество студентов, сдавших сессию только на «4» и «5», и количество студентов, имеющих «2» хотя бы по одному экзамену. Вывести эти показатели и в процентном отношении.
Добавить в класс Student функцию-член класса, определяющую, получает ли студент стипендию, и в главной программе организовать подсчёт количества студентов в группе, получающих стипендию.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.09.2010, 18:17     Написать класс Student
Посмотрите здесь:

Класс STUDENT C++
Написать класс Student C++
C++ Помогите написать класс STUDENT
Создать класс student C++
C++ Класс Student с данными
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
CyBOSSeR
Эксперт C++
 Аватар для CyBOSSeR
2294 / 1664 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
01.10.2010, 01:41     Написать класс Student #21
Lavroff, на самом деле здесь двоякая ситуация. С одной стороны гораздо эффективнее вернуть ссылку на двумерный вектор, но с другой это гораздо опаснее возврата по значению, ибо константность всегда можно снять и попортить данный массив без ведома класса, им владеющим.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 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
C++ Создать класс student, который использует файл student.txt
C++ Определить класс с именем STUDENT. Написать программу на C++

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

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

Не по теме:

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

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

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

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