学习C++primer中习题1.24的代码,算是对书中答案的补充吧,令附有一些疑问,留待解决……
一:这个代码可行无差错。
#include<iostream>
#include"Sales_item.h"
int main()
{
Sales_item book,item[100];
int sum = 0,i;
std::cout << "Enter seveal change:" <<std::endl;
if(std::cin >> book ){
item[0] = book;
while (std::cin >> book ) {
for(i = 0; i <= sum; i++){
if(item[i].same_isbn(book)){
item[i] += book;
break;
}
}
if( i == sum + 1)
item[++sum] = book;
}
for( i = 0; i <= sum; i++ )
std::cout << item[i] << std::endl;
}
else
std::cout << "The input is null!!" << std::endl;
return 0;
}
二:这个代码有些瑕疵,不明白为什么会有最初的哪一行0 0 0
#include<iostream>
#include"Sales_item.h"
int main()
{
int i, sum;
bool flag;
Sales_item book,item[100];
std::cout << "Enter the deal:"<<std::endl;
flag = false;
sum = 0;
while(std::cin >> book){
if(flag = false){
item[0] = book;
flag = true;
}
else {
for(i = 0; i <= sum ; ++i){
if(item[i].same_isbn(book)){
item[i] = item[i] + book;
break;
}
}
if(i == sum + 1)
item[++sum] = book;
}
}
for(i = 0; i <= sum; ++i)
std::cout << item[i] << std::endl;
return 0;
}
}
同时欢迎提出宝贵意见,以帮助我改进,不胜感激!!!
——桑海整理