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

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

Восстановить пароль Регистрация
 
DebieCooper
 Аватар для DebieCooper
34 / 34 / 1
Регистрация: 12.10.2011
Сообщений: 285
10.01.2012, 14:16     Разработать класс для представления сведений о студенте #1
Разработать класс для представления сведений о студентах: фамилия, группа, массив из четырёх оценок. Класс должен включать весь необходимый интерфейс: конструкторы, перегрузку операций, другие необходимые методы.
Разработать функции:
Ввода данных о нескольких студентах в массив
Сортировки массива по фамилиям(По сумме баллов)
Поиск студентов, не сдавших более 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
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.01.2012, 14:16     Разработать класс для представления сведений о студенте
Посмотрите здесь:

C++ класс для представления понятия "контроллер видеомагнитофона"
C++ Создать класс Triangle для представления треугольника. Поля данных должны включать углы и стороны.
C++ Создать класс "дерево"для представления арифметического выражения
Разработать класс Point для представления точки на плоскости C++
Создайте класс для хранения данных о студенте C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
dimcoder
Полярный
 Аватар для dimcoder
449 / 422 / 66
Регистрация: 11.09.2011
Сообщений: 1,108
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;
}
absokolov
29 / 29 / 1
Регистрация: 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, Вы лучше предоставьте полное задание! А то ничего не понятно!
DebieCooper
 Аватар для DebieCooper
34 / 34 / 1
Регистрация: 12.10.2011
Сообщений: 285
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 минут
Это получается из того, что у меня есть. То что здесь вводится данные об одном студенте. А мне бы о многих) И чтобы их данные потом вывести на экран
Yandex
Объявления
10.01.2012, 15:46     Разработать класс для представления сведений о студенте
Ответ Создать тему
Опции темы

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