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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 21.12.2014, 17:48   #1
vbn1
Пользователь
 
Регистрация: 06.10.2011
Сообщений: 67
Печаль Программирование с использованием структур

Вывести список на экран, упорядочив фамилии авторов в
алфавитном порядке.
КНИГА:
− фамилия и инициалы автора (строка 15 символов);
− название книги (строка 20 символов);
− год издания (целое положительное четырехзначное число);
− количество страниц (целое положительное число).
структуру описал, но не могу понять как добавить и упорядочить в алфавитном порядке
Код:
#include<stdio.h>
#include<conio.h>
void main()

{

struct book
{
char Familia[15],name[15],otchestvo[15];
char name_book[20];
int date[4];
int pages;
};

getch();
}
vbn1 вне форума Ответить с цитированием
Старый 21.12.2014, 23:42   #2
Ev[G]eN
C / C++ / Java
Пользователь
 
Регистрация: 23.01.2011
Сообщений: 14
По умолчанию

Код:
#include <algorithm>
#include <iostream>
#include <string>
#include <vector>

struct Book
{
	std::string authorData;
	std::string bookName;
	
	size_t year;
	size_t pagesCount;
};

int main()
{
	size_t booksCount;
	std::cout << "N: ";
	std::cin >> booksCount;

	std::vector <Book *> booksVector;
	for (size_t i = 0; i < booksCount; i++) {
		std::cin.clear();
		std::cin.sync();

		Book *currentBook = new Book();
		std::cout << "Book #" << (i + 1) << ":" << std::endl;

		std::cout << "Author: ";
		std::getline(std::cin, currentBook->authorData);
		std::cin.clear();
		std::cin.sync();

		std::cout << "Book name: ";
		std::getline(std::cin, currentBook->bookName);
		std::cin.clear();
		std::cin.sync();

		std::cout << "Book year: ";
		std::cin >> currentBook->year;

		std::cout << "Pages count: ";
		std::cin >> currentBook->pagesCount;

		booksVector.push_back(currentBook);
		std::system("cls");
	}

	std::sort(booksVector.begin(), booksVector.end(), [](Book *leftBook, Book *rightBook) -> bool {
		return (leftBook->authorData < rightBook->authorData);
	});
	for (Book *currentBook : booksVector) {
		std::cout << "Author: " << currentBook->authorData << std::endl;
		std::cout << "Book name: " << currentBook->bookName << std::endl;
		std::cout << "Book year: " << currentBook->year << std::endl;
		std::cout << "Pages count: " << currentBook->pagesCount << std::endl;
		std::cout << std::endl;
	}

	std::system("pause");
	return 0;
}
Ev[G]eN вне форума Ответить с цитированием
Старый 23.12.2014, 19:52   #3
vbn1
Пользователь
 
Регистрация: 06.10.2011
Сообщений: 67
По умолчанию

Спасибо большое, но у меня выдаются ошибки
Цитата:
[C++ Error] _pair.h(36): E2141 Declaration syntax error
[C++ Error] _pair.h(59): E2141 Declaration syntax error
[C++ Error] type_traits.h(65): E2453 Size of the type '__false_type' is unknown or zero
[C++ Error] type_traits.h(68): E2141 Declaration syntax error
[C++ Error] type_traits.h(70): E2141 Declaration syntax error
[C++ Error] type_traits.h(73): E2141 Declaration syntax error
[C++ Error] type_traits.h(77): E2141 Declaration syntax error
[C++ Error] type_traits.h(82): E2141 Declaration syntax error
[C++ Error] type_traits.h(89): E2141 Declaration syntax error
[C++ Error] type_traits.h(90): E2141 Declaration syntax error
[C++ Error] type_traits.h(98): E2141 Declaration syntax error
[C++ Error] type_traits.h(107): E2141 Declaration syntax error
[C++ Error] type_traits.h(174): E2141 Declaration syntax error
[C++ Error] type_traits.h(200): E2141 Declaration syntax error
[C++ Error] type_traits.h(201): E2141 Declaration syntax error
[C++ Error] type_traits.h(204): E2141 Declaration syntax error
[C++ Error] type_traits.h(209): E2141 Declaration syntax error
[C++ Error] type_traits.h(210): E2141 Declaration syntax error
[C++ Error] type_traits.h(213): E2141 Declaration syntax error
[C++ Error] type_traits.h(224): E2141 Declaration syntax error
[C++ Error] type_traits.h(226): E2141 Declaration syntax error
[C++ Error] type_traits.h(228): E2141 Declaration syntax error
[C++ Error] type_traits.h(230): E2141 Declaration syntax error
[C++ Error] type_traits.h(232): E2141 Declaration syntax error
[C++ Error] type_traits.h(235): E2141 Declaration syntax error
[C++ Error] type_traits.h(235): E2228 Too many error or warning messages
vbn1 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Разработка базы данных с использованием структур deadwing C/C++ Базы данных 1 09.12.2014 20:11
Напишите программу с использованием динамических структур(списка) netiv Паскаль, Turbo Pascal, PascalABC.NET 0 14.05.2012 22:51
Напишите программу с использованием динамических структур netiv Паскаль, Turbo Pascal, PascalABC.NET 2 02.03.2012 12:51
Программирование с использованием структур данных стэк Nostalgia Помощь студентам 0 24.02.2010 20:20
Обработка массивов структур с использованием контейнеров artyom060791 Помощь студентам 0 14.04.2009 22:43