Доброго времени суток. Пытаюсь освоить C++ по книгам из данного поста, начал с 1-ого пункта - Липпман.
Задачка из первой же главы(стр. 48)
«Напишите программу, которая читает несколько транзакций. Для каждой новой транзакции необходимо выяснить, соответствует ли её ISBN предыдущей. Программа должна подсчитать кол-во транзакций для каждого ISBN. Проверьте программу введя несколько транзакций. Транзакций должны иметь разный ISBN, но записи по каждому должны быть сгруппированы вместе»
Автор даёт класс Sales_item. Скачать можно здесь
(123-123 ISBN, 10 кол-во книг, 20 цена за штуку)
вот как выглядит поведение программы
Почему первый раз когда я меняю ISBN он не выводится для предыдущего?
// Проверка текущей транзакции с предыдущей, подсчёт количество одинаковых
// транзакций, вывод
#include <iostream>
#include "Sales_item.h"
int main()
{
Sales_item new_item, old_item, group_item;
int count = 1;
std::cout << "Enter transaction: " << std::endl;
std::cin >> old_item;
group_item += old_item;
while(std::cin >> new_item) {
if (new_item.same_isbn(old_item)) {
group_item += new_item;
count++;
}
else {
std::cout << std::endl;
std::cout << "#" << count << "| " << group_item << std::endl;
old_item = new_item;
group_item = new_item; // что-то вроде обнуления
count = 1;
}
}
return 0;
}
PS. Не хотел палиться виндой, но вывод софтины по другому не показать. Пользовался линуксом ещё 2010, но потом пришлось мигрировать на винду из-за универа, нужен был софт от адобе. специальность к сожалению не связана с программированием. Учитывая, что софт мне этот больше не нужен, планирую устроить локальный вендекапец в понедельник, дотка же теперь и на линухе есть. :) PSS. Свои нубские вопросы по программированию буду оставлять в этой теме, дабы не плодить клонов и не бесить здешних жителей.