前に書く
内容は主に自分で書いたものですが、ボトルネックが発生した場合は、git-hubの標準回答を参考にしてください。知的財産権を尊重してください。
第1章が始まります
演習1.1〜1.21
トピックは比較的単純なので、ここでは説明しません。
演習1.22
質問の語幹
同じISBNで複数の販売レコードを読み取り、すべてのレコードの合計を出力するプログラムを作成します。
分析
- 複数のメッセージレコードがあり、その数は言われていませんが、非定量的データの読み取りを実現するために使用できます。
- タイプの定義と本の前にあるサンプルの質問の違いを除いて、残りはそれほど違いはありません。
- 注意すべき点の1つは、最初にレコードを読み込む必要があることです。そうしないと、出力にISBNがありません。
ソースコード
#include <iostream>
#include "Sales_item.h"
using namespace std;
int main(){
Sales_item item,sum;
cin >> sum; //先读入一条纪录
while(cin >> item){
//不定量数据的读入
sum = sum + item; //求和
}
cout << sum; //输出
return 0;
}
演習1.23 / 1.24
質問の語幹
1.23プログラムを作成し、複数の販売記録を読み、各ISBN(各本)にある販売記録の数を数えます。
1.24前のプログラムをテストするために、複数のISBNを表す複数の販売レコードを入力します。各ISBNのレコードはグループ化する必要があります。
分析
- 1.23質問は明確ではありませんが、同じISBNは継続していますか?私の理解では、それは継続的でなければなりません。そうでなければ、より複雑な知識が使用されます。
- 本の前にあるサンプルの質問を参照できます。違いは大きくありません。
ソースコード
#include <iostream>
#include "Sales_item.h"
using namespace std;
int main(){
Sales_item item1,item2;
int sum=1;
cin >> item1; //读入第一条纪录
while(cin >> item2){
//读入下一条纪录
if(item1.isbn()==item2.isbn()){
//isbn相等则加1计数
sum++;
}
else{
//isbn不等则输出结果,item1仍作为比较的参考,sum重新初始化
cout << "ISBN: " << item1.isbn() << " has " << sum << "records;" << endl;
item1 = item2;
sum = 1;
}
}
cout << "ISBN: " << item1.isbn() << " has " << sum << "records;" << endl; //输出最后一次的结果
return 0;
}