永发信息网

这个C++如何理解,为何运行不了

答案:3  悬赏:80  手机版
解决时间 2021-05-06 07:18
  • 提问者网友:我们很暧昧
  • 2021-05-06 02:34

#include<iostream>
#include"Sales_item.h"
int main()
{
  Sales_item total,trans;
  if(std::cin>>total)
     {
      while(std::cin>>trans)
      if(total.same_isbn(trans))
      total=total+trans;
         else
         {
          std::cout<<total<<std::endl;
          total=trans;
         }
         std::cout<<total<<std::endl;
               else
               {
                std::cout<<"NO DATA?!"<<std::endl;
                return -1;
               }
     }
     return 0'
}
为何这个程序运行不了,老说#include"Sales_item.h"错误怎么回事
还有
      while(std::cin>>trans)
      if(total.same_isbn(trans))
      total=total+trans;
         else
         {
          std::cout<<total<<std::endl;
          total=trans;
怎么理解,特别是
          std::cout<<total<<std::endl;
          total=trans;
最佳答案
  • 五星知识达人网友:夜余生
  • 2021-05-06 03:53

第一: #include“Sales_item.h” 出错,可能是因为你的工程里面没有 Sales_item.h 头文件。倒是编译的时候链接出错。


第二: std 命名空间包含了输入输出流很多的工作。在C++语法中,或许不会出现  std::cout 这样的词语。但是在用编译软件的时候,是需要到的。因为 cout 输出流是 属于 std 命名空间里的操作符,所以在使用 cout 的时候,需要用到 std 的前缀来表示使用了 std 里的 cout 操作。  ' :: '  这个运算符的名字就叫:“作用域运算符”,顾名思义了。相当于从属关系。


所以,这句话可以理解为:


cout<< total<<enl;


输出  total 的值。

全部回答
  • 1楼网友:忘川信使
  • 2021-05-06 06:43

呵呵,看来你好像一点C++基础都很难说有哦~~~~

cout 就是C++ 所谓的对象(不用担心不懂,学过后就会慢慢领悟了),

对象其实也没什么,就是像C语言(学过吧??)里面的结构体差不多,只不过

C++中把函数也能写进那结构体,构成所谓的对象了~~~~

<< 是cout里的一个函数(不妨可这样认为),

而std上面有人说了我就不多说了

至于运行不了是你缺少Sales_item.h头文件,找找看在哪,并移到同一目录就好了

其它的一时间说了你也接受不了那么多的,反而乱,不妨先去学学哦

相信你学了C++后再回头看,你会发现原来这些是多么的基础啊~~~

呵呵,最后,祝你成功!

  • 2楼网友:拜訪者
  • 2021-05-06 05:22

 if(std::cin>>total) 里面的代码块,请看粗体部份的解释,建议修改之后再重新编译:

while(std::cin>>trans)
    if(total.same_isbn(trans))// same_isbn 开始
    total=total+trans;
    else// if 的第一个 else
    {
    std::cout<<total<<std::endl;
    total=trans;
    }// same_isbn 结束,同时 while 循环体结束
    std::cout<<total<<std::endl;// 不管 while 的结果如何,这行代码紧接着while循环之后执行
    else// 这个 else 没有配对的 if,建议:把这个 else 注释起来,再重新编译
    {
    std::cout<<"NO DATA?!"<<std::endl;
    return -1;
    }

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯