菜鸟学C++Primer——习题1.24

来源:互联网 发布:java发送短信 编辑:程序博客网 时间:2024/05/21 21:35

学习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;}elsestd::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;}


}

同时欢迎提出宝贵意见,以帮助我改进,不胜感激!!!

——桑海整理