大家用帮忙看一下这个:
我在C++ Primer书上做练习的题,
编写程序,要求用户输入一组数,输出信息说明其中有多少个负数。
#include <iostream>
int main()
{
int amount = 0,value;
//读入数据直到遇见文件结束符,计算所读入的负数的个数
while (std::cin>>value)
if (value<=0)
++amount;
std::cout<<"Amount of all negative values read is"<<amount<<std::endl;
return 0;
}
问题出在这里了,我用VC++6。0编译它的原代码,没什么反映,我修改了一下它的代码:
#include <iostream>
int main()
{
int amount = 0,value;
//读入数据,真到遇见文件结束符,计算所读入的负数的个数
while (std::cin>>value)
if (value<=0)
std::cout<<"负数为"<<value<<std::endl;
return 0;
修改了后又可以了,就输出哪些是负数了,怎么回事?那这里的amount不是都没用了吗》?
高手来帮我解决一下,是不是我哪里出问题了!!!!!!!!!!
[解决办法]
什么叫编译它的原代码, 没什么反映?是报错不编译不能通过么?
你把代码修改以后, 代码的逻辑变化了, 功能自然就变化了。
[解决办法]
前一段修改为
#include <iostream>int main(){int amount = 0,value;//读入数据直到遇见文件结束符,计算所读入的负数的个数while (std::cin>>value)if (value<=0)[color=#FF0000]{[/color] //加入括号++amount;std::cout<<"Amount of all negative values read is"<<amount<<std::endl;[color=#FF0000]}[/color]return 0;}
[解决办法]
#include <iostream>int main(){int amount = 0,value;//读入数据直到遇见文件结束符,计算所读入的负数的个数while (std::cin>>value)if (value<=0){ //加入括号++amount;std::cout<<"Amount of all negative values read is"<<amount<<std::endl;}return 0;}