Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
DebieCooper
34 / 34 / 1
Регистрация: 12.10.2011
Сообщений: 301
1

Разработать класс для представления сведений о студенте

10.01.2012, 14:16. Просмотров 1087. Ответов 3
Метки нет (Все метки)

Разработать класс для представления сведений о студентах: фамилия, группа, массив из четырёх оценок. Класс должен включать весь необходимый интерфейс: конструкторы, перегрузку операций, другие необходимые методы.
Разработать функции:
Ввода данных о нескольких студентах в массив
Сортировки массива по фамилиям(По сумме баллов)
Поиск студентов, не сдавших более 2 экзаменов (паарметры: массив, номер группы)
Помогите плиз. Я на экзамене

Добавлено через 13 минут
Вот часть моей программы. Мне кажется, что-то не так и хз что даьлше делать
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
using namespace std;
 
class Student
{
private:
    char fam[80];
    int gruppa;
    int mas[4];
public:
    void getData()
    {
        cout << "/n Vvedite familiy: "; cin>>fam;
        cout << " Vvedite gruppu: /n"; cin age;
        cout << " Vvedite 4 ocenki /n"; cin mas[4];
    }
 
int main()
{
    char ch;
    Student pers; // Создаём обьект Student
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.01.2012, 14:16
Ответы с готовыми решениями:

Разработать класс Point для представления точки на плоскости
Разработать класс Point для представления точки на плоскости. Разработать...

Создайте класс для хранения данных о студенте
1. Создайте класс для хранения данных о студенте: фамилия, специальность, курс,...

Реализовать класс ModelWindow, добавив поле для курсора, используя для представления поля класс Cursor
Реализовать класс ModelWindow, добавив поле для курсора. Используйте для...

Реализовать класс Goods используя для представления цены класс Money
Реализовать класс Goods (пункт 1 ), используя для представления цены класс...

Реализовать класс Triangle (задание 25), опираясь на класс Angle из задания 26 для представления углов
Реализовать класс Triangle (задание 25), опираясь на класс Angle из задания 26...

3
dimcoder
Полярный
467 / 440 / 157
Регистрация: 11.09.2011
Сообщений: 1,142
10.01.2012, 14:39 2
Вот когда писал, но со структурами, похожую задачу. Могу помочь подправить под классы и под вашу собственно задачу.
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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
#include <iostream.h>
#include <conio.h>
 
const int subjCount = 3;
 
struct Student
{
   Student();
 
   float getAverage();
 
   void setFamily(const char *);
   void setName(const char *);
 
   const char * getFamily() {return family;}
   const char * getName() {return name;}
 
   void print();
 
   char family[30];
   char name[30];
 
   int subjCount;
   int marks[30];
};
 
Student::Student()
{
   for (int i = 0; i < 30; i++)
      marks[i] = 0;
}
 
void Student::print()
   {
      cout << "Family = " << getFamily() << "\nName = " << getName() << endl;
      cout << "Marks = ";
      for (int i = 0; i < subjCount; i++)
     cout << marks[i] << " ";
      cout << "Average mark = " << getAverage() << endl;
   };
 
float Student::getAverage()             //Count - number of subjects
{
   float sum = 0;
 
   for (int i = 0; i < subjCount; i++)
      sum += marks[i];
 
   return ((float)(sum/subjCount));
}
 
void editStudentInfo(Student &st)
{
   char buf[30];
   cout << "Family = ";
   cin >> buf;
   for (int i = 0; buf[i]; i++)
      st.family[i] = buf[i];
   st.family[i] = '\0';
 
   char buf2[30];
 
   cout << "Name = ";
   cin >> buf2;
 
 
   for (i = 0; buf2[i]; i++)
      st.name[i] = buf2[i];
   st.name[i] = '\0';
 
   cout << "Marks(" << subjCount << ") = ";
   for (i = 0; i < subjCount; i++)
      cin >> st.marks[i];
}
 
int main ()
{
   clrscr();
 
   Student st[30];
 
   cout << "Enter option:" << endl;
   cout << "Add student 1" << endl;
   cout << "Print student's info 2" << endl;
   cout << "Print all students info 3" << endl;
   cout << "Go out (0)" << endl;
 
   int n;
   int quantity = 0;
 
   cout << "Enter the number of the operation: ";
   cin >> n;
 
   while(n > 0)
   {
 
      switch(n)
      {
     case 1:
     {
        editStudentInfo(st[quantity]);
        quantity++;
     }
     break;
     case 2:
     {
        int x;
        cout << "Enter the number of the student you want to get info about: ";
        cin >> x;
        if ((x-1) < quantity)
           st[x-1].print();
        else
           cout << "This student doesnt exist!" << endl << endl;
     }
     break;
     case 3:
     for (int i = 0; i < quantity; i++)
     {
        cout << "Info about student No_" << i << ":" << endl;
        st[i].print();
        cout << endl;
     }
     break;
     default:
        cout << "End." << endl;
 
      }
      if(n > 3 || n <= 0)
       n = 0;
      else
      {
     cout << "Enter the number of the operation: ";
     cin >> n;
     cout << endl;
      }
   }
 
 
 
 
   getch();
 
   clrscr();
 
   return 0;
}
0
absokolov
30 / 30 / 3
Регистрация: 10.05.2011
Сообщений: 120
10.01.2012, 14:43 3
Ну из того что у Вас есть, подправил вот так:
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
#include <iostream>
using namespace std;
#include <vector>
 
#define ARR 4
 
struct st
{
        char fam[80];
        int age;
        int gruppa;
        int mas[ARR];
 
};
 
class Student
{
   vector < st > students;
 
public:
        Student(){}; // Constructor
        ~Student(){}; // Destructor
 
        void getData()
        {
                st student;
 
                cout << "/n Vvedite familiy: ";
                cin>>student.fam;
 
                cout << " Vvedite gruppu: /n";
                cin>>student.gruppa;
 
 
                cout << " Vvedite vozrast: /n";
                cin>>student.age;
 
 
                for (int i = 0; i < ARR; i++)
                {
                    cout<<"Vvedite ocenku "<<i<<endl;
                    cin>>student.mas[i];
                }
 
                students.push_back(student);
        }
};
Добавлено через 1 минуту
DebieCooepr, Вы лучше предоставьте полное задание! А то ничего не понятно!
1
DebieCooper
34 / 34 / 1
Регистрация: 12.10.2011
Сообщений: 301
10.01.2012, 15:46  [ТС] 4
Полное задание:
Разработать класс для представления сведений о студентах: фамилия, группа, массив из четырёх оценок. Класс должен включать весь необходимый интерфейс: конструкторы, перегрузку операций, другие необходимые методы.
Разработать функции:
Ввода данных о нескольких студентах в массив
Сортировки массива по фамилиям(При совпадении фамилий сортируем по сумме балов)
Поиск студентов, не сдавших более 2 экзаменов (паарметры: массив, номер группы).
Вот что мне дали

Добавлено через 22 минуты
absokolov, можете дальше помочь?

Добавлено через 25 минут
20 минут осталось помогите плз.
Я вот тут еще что-то навыдумывал:
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
#include <iostream>
using namespace std;
#include <vector>
 
#define ARR 4
 
struct st
{
        char fam[80];
        int gruppa;
        int mas[ARR];
 
};
 
class Student
{
   vector < st > students;
 
public:
        Student(){}; // Конструктор
        ~Student(){}; // Деструктор
 
        void getData()
        {
                st student;
 
                cout << "/n Vvedite familiy: ";
                cin>>student.fam;
 
                cout << " Vvedite gruppu: /n";
                cin>>student.gruppa;
                
 
                for (int i = 0; i < ARR; i++)
                {
                    cout<<"Vvedite ocenku "<<i<<endl;
                    cin>>student.mas[i];
                }
 
                students.push_back(student);
        }
void showData()
{
    cout << "\n Familiya: " << student.fam;
    cout << "\n gruppa: " << student.gruppa;
    cout << "\n Ocenka: " << student.mas[i];
}
};
Добавлено через 5 минут
Это получается из того, что у меня есть. То что здесь вводится данные об одном студенте. А мне бы о многих) И чтобы их данные потом вывести на экран
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.01.2012, 15:46

Класс: Разработать абстрактный класс класс Point для задания координаты...
Всем привет, помогите пожалуйста решить задачу, я уже всю голову сломал, не...

Разработать структуру для представления информации о группе
Помогите, как разработать структуру для представления информации о группе, а...

Создать класс для представления простой дроби
Создать класс для представления простой дроби. Реализовать конструкторы,...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

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