私は模擬書店プログラムを書こうとしています。プログラムは、1 つの入力ファイルからデータを読み取り、それを 1 つの出力ファイルに書き込みます。私にはいくつかの制約があります。1 つの入力ファイルと 1 つの出力ファイルしか使用できません。2 つの for ループを使用する必要があります。ファイルにリストされている 5 人の顧客ごとに 1 つと、購入予定の書籍ごとに 1 つずつ、最大 5 冊の書籍の可能性があります。
最初の for ループは、顧客情報と購入する書籍の数を入力します (したがって、次の for ループは反復回数を認識します)。2 番目のループでは、書籍に関する情報が取得されます。
問題: 出力ファイルが上書きされないようにする方法は知っていますが、ループの最後の繰り返しが中断された場所から入力ファイルを読み取るにはどうすればよいですか。
何らかの理由で、コードを投稿しようとすると、コードが再フォーマットされ、存在しないはずの文字が追加されます。しかし、ここに私がやろうとしていることの疑似コードがあります。
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
など 実際にはそれよりも多くの情報があります。どんな助けでも大歓迎です。初心者の質問で申し訳ありません。ここに投稿する前に検索して検索しました。