Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Visual C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.03.2019, 22:22   #1
LichKin
 
Регистрация: 13.12.2018
Сообщений: 4
По умолчанию Перегрузка операций

Ребята,нужна помощь! Помогите мне перегрузить одну унарную,одну бинарную и одну логическую операцию. Я не понимаю,что делать.
Вот код программы:
Код:
#include <iostream>
#include <cstring>
#include <clocale>
#include <cstdio>
using namespace std;

class Book {
	char Autor[40];
	char Title[40];
	char Publish[40];
	int Year;
	int Sheet_num;
public:
	Book(const char *a, const char *b, const char *c, int i, int n) {
		strcpy_s(Autor, a);
		strcpy_s(Title, b);
		strcpy_s(Publish, c);
		Year = i;
		Sheet_num = n;
	}

	char *get_aut() { return Autor; }
	char *get_tit() { return Title; }
	char *get_pub() { return Publish; }
	int get_year() { return Year; }
	int get_num() { return Sheet_num; }

	void set_aut(char *aut) { strcpy_s(Autor, aut); }
	void set_tit(char *tit) { strcpy_s(Title, tit); }
	void set_pub(char *pub) { strcpy_s(Publish, pub); }
	void set_year(int y) { Year = y; }
	void set_num(int num) { Sheet_num = num; }

	void show() {
		cout << "Автор: " << Autor << '\t';
		cout << "Название книги: " << Title << '\t';
		cout << "Издательство: " << '"' << Publish << '"' << '\t';
		cout << "Год издания: " << Year << '\t';
		cout << "Количество страниц: " << Sheet_num << "\n\n";
	}

};

void SeekOnAutor(const char *str, Book *ob) {
	cout << "Список книг автора " << str << ": ";
	for (int i = 0; i < 6; i++) {

		if (!strcmp((ob[i].get_aut()), str)) ob[i].show();
	}
	cout << '\n';
}

void SeekOnPublish(const char *str, Book *ob) {
	cout << "Список книг издательства " << str << ": ";
	for (int i = 0; i < 6; i++) {

		if (!strcmp((ob[i].get_pub()), str)) ob[i].show();
	}
	cout << '\n';
}

void SeekOnYear(int h, Book *ob) {
	cout << "Список книг после указанного года издания " << h << ": ";
	for (int i = 0; i < 6; i++) {

		if (ob[i].get_year() >= h) ob[i].show();
	}
	cout << '\n';
}

int main()
{
	setlocale(LC_ALL, "Russian");
	Book ob[] = {
		Book("Vern","20 000 лье под водой","Extremo",1995,125),
		Book("Dostoevskiy", "Преступление и наказание", "Extremo", 2000, 350),
		Book("Dostoevskiy", "Белые ночи", "Piter", 1998, 200),
		Book("Shekspir", "Гамлет", "Extremo", 1999, 100),
		Book("Shekspir", "Король Лир", "Piter", 1996, 150),
		Book("Vern", "Вокруг света за 80 дней", "Piter", 1997, 150)
	};
	ob[1].show();
	cout << ob[2].get_aut()<< '\n';

	char choice, str[40];
	int h;

	for (;;) {
		do {
			cout << "Выберите пункт меню:\n"
				<< " 1. Список книг по автору\n"
				<< " 2. Список книг по наименованию издательства\n"
				<< " 3. Список книг после указанного года издания\n"
				<< "Выберите вариант справки (q для выхода): ";
			cin >> choice;
		} while (choice<'1' || choice>'3'&& choice != 'q');
		if (choice == 'q') break;
		cout << "\n\n";
		switch (choice) {
		case '1':
			cout << "Введите имя автора: ";
			cin >> str;
			SeekOnAutor(str, ob);
			break;
		case '2':
			cout << "Введите наименование издательства: ";
			cin >> str;
			SeekOnPublish(str, ob);

			break;
		case '3':
			cout << "Введите год: ";
			cin >> h;
			SeekOnYear(h, ob);
			break;
		}
		cout << "\n";
	}

	return 0;
}

Последний раз редактировалось LichKin; 01.03.2019 в 22:39.
LichKin вне форума Ответить с цитированием
Старый 01.03.2019, 22:38   #2
LichKin
 
Регистрация: 13.12.2018
Сообщений: 4
По умолчанию

Буду благодарен,если в ответе будут фрагменты кода.
LichKin вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перегрузка операций. bobbyserf C# (си шарп) 5 20.04.2015 22:22
ПЕРЕГРУЗКА ОПЕРАЦИЙ maka42rus Помощь студентам 2 11.11.2013 08:52
Перегрузка операций (), [],-> Стремящийся Общие вопросы C/C++ 2 17.03.2012 13:12
Перегрузка операций manoichi Общие вопросы C/C++ 0 09.01.2012 19:30
перегрузка операций nastya081108 Помощь студентам 0 18.05.2010 21:16