2023年7月23日,22:31!
命运的齿轮开始转动啦!!从今天起会每天找着书上写几题,写写自己的感悟。
题1:
P13 T1.4.3 读取数量不定的输入数据
#include<iostream>
int main(){
int sum=0,value=0;
while(std::cin>>value)
sum+=value;
std::cout<<"sum is : "<<sum<<std::endl;
return 0;
}
当我们使用一个istream对象作为条件时,其效果是检测流的状态。如果流是有效的,即未遇到错误,那么检测成功。当遇到文件结束符,或遇到一个无效的输入时(如读入的值不是一个整数),istream对象的状态 就会变成无效。处于无效状态的istream对象会使条件变假,while循环结束,执行下一条语句。
文件结束符:Windows系统中,文件结束符是 ctrl+Z,然后再按Enter或Return键;
Unix、Mac OS X系统中,文件结束符是ctrl+D
输出:
1.遇到文件结束符(ctrl+Z)
2.遇到无效的输入(此时小数4.2会被取整为4,并返回一个错误,跳出while循环)
题2:
P15 T1.4.4
使用if条件语句来统计子啊输入中每个值连续出现了多少次。
#include<iostream>
int main(){
int currVal=0,val=0;
if(std::cin>>currVal){
int cnt=1;
while(std::cin>>val){
if(val==currVal)
++cnt;
else{
std::cout<<currVal<<" occurs "<<cnt<<" times "<<std::endl;
currVal=val;
cnt=1;
}
}
std::cout<<currVal<<" occurs "<<cnt<<" times "<<std::endl;
}
return 0;
}
bug:只能顺序计数,不能跳转。
输出1;
输出2:
题3.1
Sales_item类的作用是表示一本书的总销售额、售出册数和平均售价
读写Sales_item
#include<iostream>
#include "Sales_item.h" //导入Sales_item类
int main()
{
Sales_item book;//定义变量
// 读取 ISBN, 售出的册数, 和单价
std::cin >> book;
// 输出 ISBN, 售出的册数, 总销售额和平均价格
std::cout << book << std::endl;
return 0;
}
输入:
0201-70353-x 4 24.99
输出:
0201-70353-x 4 99.96 24.99
题3.2
Sales_item对象的加法
#include <iostream>
#include "Sales_item.h"
int main()
{
Sales_item item1, item2;
std::cin >> item1 >> item2; //读取一对交易记录
std::cout << item1 + item2 << std::endl; //打印它们的和
return 0;
}
输入
0201-78345-x 3 20.00
0201-78345-x 2 25.00
输出
0201-78345-x 5 110 22