Я пытаюсь написать фиктивную программу книжного магазина. Программа должна считывать данные из одного входного файла и записывать их в один выходной файл. У меня есть несколько ограничений. Я могу использовать только один входной файл и один выходной файл. Я должен использовать два цикла for. По одному на каждого из пяти клиентов, перечисленных в файле, и по одному на каждую из книг, которые они собираются купить, с возможностью до 5 книг.
Первый цикл for вводит информацию о покупателе и количество книг, которые нужно купить (поэтому следующий цикл for будет знать, сколько раз нужно выполнить итерацию). Второй цикл принимает информацию о книгах.
Проблема: я знаю, как предотвратить запись выходного файла поверх себя, но как заставить входной файл читать с того места, где остановилась последняя итерация цикла.
По какой-то причине, когда я пытаюсь опубликовать свой код, он переформатирует его и добавляет символы, которых там быть не должно. Но вот псевдокод того, что я пытаюсь сделать.
for(count=1; count<=5; count++)
{
fin.open("input.txt");
fin << user information(including name, address and number of books)
fout.open("output.txt" ios::app);
fout >> user information
for(count1=1; count1<=numbbooks; count1++)
{
fin << book information(Name, Author, Price)
fout >> book information
}
Я знаю, как использовать getline, fin для получения данных, однако после первой итерации каждого цикла он начинает читать с начала файла. Мне нужно, чтобы он читал с того места, где закончилась предыдущая итерация. Я понимаю ios:app для вывода.
образец входного файла
user name
address
number of books
book1
price1
book2
user name2
address
number of books
book2.1
price2.1
и т.д. На самом деле информации больше. Любая помощь будет принята с благодарностью. Извините за новый вопрос. Я искал и искал, прежде чем опубликовать здесь.