Добрый день! Не могли бы помочь с программой, уже несколько дней сижу не знаю как её сделать.
Использовать программу:
Упорядочить по неубыванию массив структур по заданному ключу. Ключ: год издания. Методы сортировки: QuickSort и пузырьковая сортировка.
Использовать программу:
C++:
#include<iostream>
#include<windows.h>
using namespace std;
struct Bibliot
{
char name[50];
char avtor[50];
int god;
int stranic;
};
void Find(Bibliot* obj, int n, int god)
{
for (int i = 0; i < n; i++)
{
if (obj[i].god > god)
{
cout << "Назваие книги: " << obj[i].name << "\n";
cout << "Автор книги: " << obj[i].avtor << "\n";
}
}
cout << endl;
}
int main()
{
setlocale(LC_CTYPE, "Rus");
int n = 0, god = 0;
int key = 0;
Bibliot obj[100];
do
{
cout << "1. Добавить книгу\n2. Вывод книг изданных в определенный период\n0. Выход\n";
cin >> key;
cin.ignore(1);
switch (key)
{
case 1:
cout << "Введите название книги: \n";
gets_s(obj[n].name);
OemToCharA(obj[n].name, obj[n].name);
cout << "Введите автора книги: \n";
gets_s(obj[n].avtor);
OemToCharA(obj[n].avtor, obj[n].avtor);
cout << "Введите год издания: \n";
cin >> obj[n].god;
cout << "Введите количество страниц: \n";
cin >> obj[n].stranic;
cin.ignore(1);
n++;
system("pause");
system("cls");
break;
case 2:
cout << "Введите год, после которого найти книги: ";
cin >> god;
Find(obj, n, god);
system("pause");
system("cls");
break;
case 0:
break;
default:
cout << "Выбран неправильный пункт меню\n";
break;
}
} while (key != 0);
cout << "\n\n";
}