这个C++如何理解,为何运行不了
- 提问者网友:我们很暧昧
- 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;
}