您的位置:首页 > 编程语言 > C语言/C++

c++ primer 第五版第一章习题书店程序

2017-01-18 09:41 351 查看
    #include <iostream>  

    #include "Sales_item.h"   

    /* run this program using the console pauser or add your own getch, system("pause") or input loop */  

      

   int main(int argc, char** argv)   

    {  

        Sales_item item1,item2;int cnt=0;  

        if(std::cin>>item1)

        {

             cnt=1;

             while(std::cin>>item2)

             {

                 if(item1.isbn()==item2.isbn())

                 {

                     item1+=item2;

                     cnt++;

                 }

                 else{

                     std::cout<<item1<<" occours "<<cnt<<" times " <<std::endl;

                     item1=item2;

                     cnt=1;

                 }

             }

             std::cout<<item1<<" occpurs "<<cnt<<" times "<< std::endl;

        }

   /* int main(int argc, char** argv) {  

        Sales_item total;  

        if (std::cin >> total)  

        {  

            Sales_item trans;  

            int count = 1; //统计记录   

            while (std::cin >> trans){  

                if (total.isbn() == trans.isbn()){  

                    total +=trans;  

                    ++count;  

                }  

                else{  

                    std::cout << total << std::endl;  

                    std::cout << count << std::endl;  

                    total = trans;  

                    count = 1;  

                }  

            }  

            std::cout << total << std::endl;  

            std::cout << count << std::endl;  

        } else {  

            std::cerr << "Wrong input!" << std::endl;  

            return -1;   

        }  */

        return 0;  

    }  

上边的代码,第一部分是我自己写的,第二部分是是复制的别人的,即被注释掉的部分,两个代码都有相同的问题,即最后一个输入的数据是无法打印出来的,原因是无法跳出while,无法跳出while是因为,当while读到最后一个数字之后,即后面已经没有数字,while不会跳出,还在等待输入,如何才能让while在读完最后一个数字之后,能跳出while。这个是可以解决的,但是我更想明白的是为什么while在没有输入时,不会跳出,先写到这,等我解决的了,再修改这个博客。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c++ primer