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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 51, средняя оценка - 4.67
IamSCORPION
SysOp
38 / 37 / 1
Регистрация: 13.04.2009
Сообщений: 274
#1

Класс STUDENT - C++

17.04.2009, 12:39. Просмотров 7581. Ответов 8
Метки нет (Все метки)

Создать класс STUDENT, имеющий имя, курс и идентификационный номер. Определить конструктор, деструктор и функцию печати. Создать производный класс public - STUDENT_1 , содержащий тему диплома. Определить конструкторы по умолчанию с разным числом параметров, деструктор, функцию печати. Определить названия диплома и идентификационного номера.

Добавлено через 1 минуту 18 секунд
Помогите ребята))) ПЛІЗ!!!!
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.04.2009, 12:39
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Класс STUDENT (C++):

Создать класс student, который использует файл student.txt - C++
Доброе время суток. Тащемта задача такова: Нужно создать класс student, который использует файл student.txt(содержит в себе список...

Разработать класс Man (человек) и производный класс Student (студент). Описать атрибуты. - C++
Разработать класс Man (человек) и производный класс Student (студент). Описать атрибуты.

Базовый класс Student и производный класс Aspirant - C++
Задача была такова: Создайте класс Student, который будет содержать информацию о студенте. С помощью механизма наследования,...

Создать класс Man (человек), с полями: имя, возраст, пол и вес. Создать производный класс Student ... - C++
Создать класс Man (человек), с полями: имя, возраст, пол и вес. Определить методы задания имени, возраста и веса. Создать производный класс...

Спроектировать класс Student - C++
student (студент): фамилия, возраст (год рождения), наличие задолженностей.

Написать класс Student - C++
Написать класс Student, содержащий сведения: фамилия, имя, отчество студента, оценки по m экзаменам. Написать программу, которая выводит...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Deicider
96 / 52 / 1
Регистрация: 18.03.2009
Сообщений: 273
17.04.2009, 13: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
#include <string.h>
#include <stdio.h>
 
 
class Student
{
public:
  Student();
  ~Student();
 
  char name[20];
  short grade; // курс
  int ID;
 
  void Print();
};
 
Student::Student()
{
}
 
Student::~Student()
{
}
 
void Student::Print()
{
  printf("Name: %s\t grade: %d\t ID:%d\n", name, grade, ID);
}
 
 
class Student1 : public Student
{
public:
  Student();
  Student(char* name);
  Student(char* name, short grade);
  Student(char* name, short grade, int ID);
  Student(char* name, short grade, int ID, char* diplom);
 
  char diplom[30];
}
 
Student1::Student1()
{
}
 
Student1::~Student1()
{
}
 
Student1::Student1(char* name)
{
  strcpy(this->name, name);
}
 
Student1::Student1(char* name, short grade);
{
  strcpy(this->name, name);
  this->grade = grade;
}
 
Student1::Student1(char* name, short grade, int ID);
{
  strcpy(this->name, name);
  this->grade = grade;
  this->ID = ID;
}
 
Student1::Student1(char* name, short grade, int ID, char* diplom);
{
  strcpy(this->name, name);
  strcpy(this->diplom, diplom);
 
  this->grade = grade;
  this->ID = ID;
}
 
void Student1::Print()
{
  printf("Name: %s\t grade: %d\t ID:%d\t Diplom:%s\n", name, grade, ID, diplom);
}
1
darkAngel
Технофашист
215 / 198 / 4
Регистрация: 11.03.2009
Сообщений: 865
17.04.2009, 14:01 #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
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
#include <conio.h>
#include <iostream.h>
 
// Базовый класс student
class student
{
   private:
   char *name;          // Имя студента
   int kurs, id;        // Номер курса и иднетицикационный номер
 
   public:
   student()            // Конструктор по умолчанию (без параметров)
   {
      name = new char[7];        // Выделяем участок памяти под имя (7 символов типа char)
      strcpy(name, "Ivanov");    // Имя по умолчанию - Ivanov
      kurs = 1;
      id = 001;
   }
 
   student(char *nm, int kr, int ident)  // Конструктор с параметрами
   {
      name = new char[strlen(nm+1)];
      strcpy(name, nm);
      kurs = kr;
      id = ident;
   }
 
   ~student()                            // Деструктор
   {
      delete [] name;                    // Освобождаем память
   }
 
   void print()        // Метод печатает информацию на экране
   {
      cout << endl << "Name: " << name << endl;
      cout << "Kypc: " << kurs << endl;
      cout << "ID  : " << id << endl << "-------------" << endl;
   }
};
 
 
 
// Производный класс student_1
class student_1 : public student
{
   private:
   char* tema;             // Поле под название темы
 
   public:
   student_1() : student()     // Конструктор по умолчанию (также вызывается конструктор по умолчанию student() базового класса
   {
      tema = new char[22];     // Выделяем память под название темы
      strcpy(tema, "Class and polimorfizm");  // Название темы по умолчанию
   };
 
   // Конструктор с параметрами
   student_1(char* nm, int kr, int ident, char* tem) : student(nm, kr, ident)
   {
      tema = new char[strlen(tem+1)];
      strcpy(tema, tem);
   }
 
   ~student_1()             // Деструктор
   {
      delete [] tema;       // Освобождаем память
   }
 
   void print()           // Переопределяем метод вывода информации на экран
   {
      cout << endl << "TeMa: " << tema;
      student::print();   // Вызываем метод print() базового класса student
   }
 
};
// Реализация
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
int main(int argc, char* argv[])
{
   int kr, ident;
   string nm, tema;
 
   cout << "BBeguTe uM9 :";
   cin >> nm;
   cout << "BBeguTe HoMep Kypca :";
   cin >> kr;
   cout << "BBeguTe ID :";
   cin >> ident;
   cout << "BBeguTe TeMy gunJIoMa :";
   cin >> tema;
 
   student_1 a;             // Создаём объект класса student_1 по умолчанию
   student_1 b(nm.begin(), kr, ident, tema.begin());  // Создаём объект класса student_1 с параметрами
 
   a.print();
   b.print();               // Вызываем методы вывода на экран
 
 
        getch();
        return 0;
}
1
IamSCORPION
SysOp
38 / 37 / 1
Регистрация: 13.04.2009
Сообщений: 274
17.04.2009, 14:23  [ТС] #4
Супер))) Спасибо большое)))
0
ABTOP
36 / 36 / 2
Регистрация: 09.06.2008
Сообщений: 324
17.04.2009, 16:04 #5
Если тебе ещё надо то вот... когда то писал

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
#include <iostream.h>
#include <string.h>
#include <conio.h>
class progress;
 
class student
{
    friend ostream &operator<<(ostream &, const student&);
    friend istream &operator>>(istream &, student &);
private:
    friend class progress;
    student *next;
    char *name;
    float mark;
public:
    void Ras();
    void PrintStudent() {cout<<"Student "<<name<<" have mark "<<mark<<endl;}
    void ReadStudent()
    {
        cout<<"Enter name: ";
        cin>>name;
        cout<<"Enter mark: ";
        cin>>mark;
    }
    student();
};
 
student::student()
{
    int k=10;
    name=new char[k+1];
    strcpy(name,"With Out Name");
    mark=0;
}
 
void student::Ras()
{
    student *s;
    float fin=0;
    while(s)
    {
        fin+=mark;
        s=s->next;
    }
    cout<<fin<<endl;
}
 
class progress
{
    int count;
    char Facultet[20];
    student *first;
    student *head;
public:
    progress(char *FacultetName)        //ÏðèñâîåГ*ГЁ èìåГ*ГЁ Г”Г*êóëüòåòó
    {
        strcpy(Facultet, FacultetName);
        count=0;
        first=head=NULL;
    }
    void AddStudent();
    void PrintAll();
    ~progress();
};
progress::~progress()
{
    if (count)
    {
        student *s=first;
        while (s)
        {
            s=first->next;
            delete first;
            first=s;
        }
    }
}
 
void progress::AddStudent()
{
    if (!count) {
        first=new student;
        head=first;
        head->next=NULL;
        head->ReadStudent();
        count=1;
    } else {
        head->next=new student;
        head=head->next;
        head->ReadStudent();
        head->next=NULL;
        count++;
    }
}
 
void progress::PrintAll()
{
    student *s;
    s=first;
    while(s)
    {
        s->PrintStudent();
        s=s->next;
    }
}
 
istream &operator>>(istream&input, student &s)
{
    input>>s.name;
    return input;
}
 
ostream &operator<<(ostream &output, const student &s)
{
    output <<s.name << s.mark<< ' ' <<endl;
    return output;
}
 
void main()
{
    progress P("PS");
    student S;
    char s=0;
    while(s!=27)
    {
        P.AddStudent();
        s=getch();
    }
    P.PrintAll();
    S.Ras();
}
Добавлено через 42 секунды
Это не совсем то но может тебе что-то пригодиться от сюда
1
IamSCORPION
SysOp
38 / 37 / 1
Регистрация: 13.04.2009
Сообщений: 274
17.04.2009, 16:36  [ТС] #6
Посмотрим... )))
0
Helen09
0 / 0 / 0
Регистрация: 16.11.2009
Сообщений: 7
19.04.2010, 18:43 #7
Подскажите, что означает эта строка: ( в программе-строка № 50 )
Код
student_1() : student()
Ответ типа:
Конструктор по умолчанию (также вызывается конструктор по умолчанию student() базового класса
не подходит, надо подробно
0
darkAngel
Технофашист
215 / 198 / 4
Регистрация: 11.03.2009
Сообщений: 865
20.04.2010, 15:33 #8
Надо бы побольше кода, а то видно что вырвано куском.
Если это стоит в объявлении конструктора, то тогда так: конструктор student_1 перед выполнением собственной инициализации, вызывает сперва базовый конструктор student для инициализации объекта этого базового класса, после чего инициализация ужее производного класса studetn_1
1
Helen09
0 / 0 / 0
Регистрация: 16.11.2009
Сообщений: 7
29.05.2010, 10:35 #9
Подскажите, необходимо на основе программы (от darkAngel ) создать контейнер очередь (двусвязный список) для класса студент. Там должна быть выгрузка данных из файла и запись в файл, вставка информации в произвольную позицию, и получение указателя к произвольной позиции в списке.
Теоретически я понимаю как это должно выглядеть, а вот как на С++ записать не знаю. Подскажите хоть что-нибудь, пожалуйста.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.05.2010, 10:35
Привет! Вот еще темы с ответами:

Класс valarray и Student - C++
Конструктор на строке 24,25 вводит меня в замешательство. Что это за конструктор? Зачем он нужен? Ведь без него код компилируется ( если...

Создать класс STUDENT - C++
Помогите создать программу используя самый простой класс под название STUDENT.

Класс Student с данными - C++
Помогите написать программу.Вот условие:Напишите программу, которая объявляет класс STUDENT с данными family,group,department и функциями...

Реализовать класс Student - C++
есть класс нужно создать 3 динамических массива одномерных что бы элементы каждого из массивов вводились в мейне все начальные...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
29.05.2010, 10:35
Ответ Создать тему
Опции темы

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