Перегрузка операций

Ребята! У меня не получается задание:Разработать классы для описанных ниже объектов. Включить в класс конструкторы, метод, show (…). Определить другие необходимые методы.
Student: Фамилия, Имя, Отчество, Дата рождения, Адрес, Телефон, Факультет, Курс. Создать массив объектов. Вывести:
а) список студентов заданного факультета;
б) списки студентов для каждого факультета и курса;
в) список студентов, родившихся после заданного года.
Перегрузить в созданном классе одну унарную, одну бинарную и одну логическую операцию.(сделайте это отдельно от 1 задания)
Вот что мне пока удалось сделать:

include <conio.h>

include <string.h>

include <iostream>

using namespace std;
struct date // дата рождения
{
char daymon[6];
int year;
};
//======= class Student =================
class Student {
char surname[30];
char name[30]; //private
char patronymic[30];
date t;
char adr[30], fac[20];
int kurs;
int phone;
public:
Student();
char getfac();
int getkurs();
void show();
};
Student::Student()
{
cout << «Input surname:»; cin >> surname;
cout << «Input name:»; cin >> name;
cout << «Input otchestvo:»; cin >> patronymic;
cout << «Input date of born\n»; cin >> t.daymon >> t.year;
cout << «Input adr:»; cin >> adr;
cout << «Input fac:»; cin >> fac;
cout << «Input kurs:»; cin >> kurs;
cout << «Input phone:»; cin >> phone;
}
void Student::show()
{
cout << «Surname:» << surname << endl;
cout << «Name :» << name << endl;
cout << «Otchestvo:» << patronymic << endl;
cout << «Was born :» << t.daymon << '.' << t.year << endl;
cout << «Address :» << adr << endl;
cout << «Phone:» << phone << endl;
cout << «Fac :» << fac << endl;
cout << «Kurs :» << kurs << endl;
cout << «Phone:» << phone << endl;
}
char
Student::getfac() { return fac; }
int Student::getkurs() { return kurs; }
void spisfac(Student spis[], int n)//список студентов заданного факультетата
{
char fac[20];
cout << «Input faculty:»; cin >> fac;
for (int i = 0; i < n; i++)
if (strcmp(spis[i].getfac(), fac) == 0)spis[i].show();
}
void spisfackurs(Student spis[], int n)
//список студентов заданных факультета и курса
{
int i, k;
char fac[20];
cout << «Input faculty:»; cin >> fac;
cout << «Input the course:»; cin >> k;
for (i = 0; i < n; i++)
if ((strcmp(spis[i].getfac(), fac) == 0) && (spis[i].getkurs() == k))
spis[i].show();
}
void spisdate(Student spis[], int n)
//список студентов,родившегося после заданного года
{
int y;
cout << «Enter a need year»; cin >> y;
if (y < 2001 && y!=2001) spis[n].show;
}
//========= main ================
int main()
{
Student *spis;
int n;
cout << «Input a number of students: » << endl; cin >> n;
spis = new Student[n];
for (int i = 0; i < n; i++) {
cout << «==============================» << endl;
spis[i].show();
}
spisfac(spis, n);
spisfackurs(spis, n);
delete[] spis;
cout << «press any key!»;
while (!_kbhit());//Возвращает истину, если нажата какая-либо клавиша на клавиатуре.
}
Решите,пожалуйста! Заранее спасибо!

Внимание! Это довольно старый топик, посты в него не попадут в новые, и их никто не увидит. Пишите пост, если хотите просто дополнить топик, а чтобы задать новый вопрос — начните новый.

Ответить

Вы можете использовать разметку markdown для оформления комментариев и постов. Используйте функцию предпросмотра для проверки корректности разметки.

Пожалуйста, оформляйте исходный код в соответствии с правилами разметки. Для того, чтобы вставить код в комментарий, скопируйте его в текстовое поле ниже, после чего выделите то, что скопировали и нажмите кнопку «код» в панели инструментов. Иначе ваш код может принять нечитаемый вид.

Либо производите оформление кода вручную, следующим образом:

``` #include <iostream> using namespace std; int main() { // ... } ```

Предпросмотр сообщения

Ваше сообщение пусто.