Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ c++;循环,在该循环中,对象的值减小到某一点_C++ - Fatal编程技术网

C++ c++;循环,在该循环中,对象的值减小到某一点

C++ c++;循环,在该循环中,对象的值减小到某一点,c++,C++,我想创建一个循环,对象的值以-10的增量减小到某个点(直到-20),然后重置到原点 float asteroid1Yorigin = 1100.00f; float asteroid1Y = asteroid1Yorigin; for (asteroid1Y = asteroid1Yorigin; asteroid1Y < -20; asteroid1Y--) { asteroid1Y - 10.1f; cout << ast

我想创建一个循环,对象的值以-10的增量减小到某个点(直到-20),然后重置到原点

float asteroid1Yorigin = 1100.00f;
float asteroid1Y = asteroid1Yorigin;


for (asteroid1Y = asteroid1Yorigin; asteroid1Y < -20; asteroid1Y--) {
            asteroid1Y - 10.1f;
            cout << asteroid1Y;
        }
        //after this I would like the point of asteroid1Y to reset to origin
1yorigin=1100.00f;
浮动小行星1y=小行星1yorigin;
对于(小行星1y=小行星1y原始;小行星1y<-20;小行星1y--){
小行星1y-10.1f;

无法将您的
小行星1y-10.1f;
更改为
小行星1y-=10.0f;
(不知道为什么它是10.1,因为您想将它减少10)目前它没有任何影响。这是因为等式
x-=y;
等于
x=x-y;
。少/多符号也已更改,因为当它大于
-20
时,您希望减小
asteroid1Y
的值,否则(使用
asteroid1Y<-20
条件)循环将不工作,因为
1100.0f<-20
始终为false

还可以考虑将循环更改为

while (asteroid1Y > -20)
{
    asteroid1Y -= 10.0f;
    std::cout << asteroid1Y << std::endl;
}
while(1Y>-20)
{
1y-=10.0f;

你的问题是:“我想…”不是一个问题。这是你意图的陈述。你已经描述了你的意图,现在你的具体问题是什么?我的问题是为什么这个特定的代码不起作用?我该如何让它起作用?你说“它不起作用”是什么意思?您已将
asteroid1Yorigin
初始化为1100。只有
asteroid1Yorigin
小于-20时,才会运行
for
循环。1100不小于-20,大于-20。因此,您的
for
循环不会执行。您需要记住计算机编程的黄金法则。您的计算机将始终执行以下操作:实际上,你告诉它做什么,而不是你想让它做什么。那么,这其中的哪一部分“不起作用”?你的计算机是否以某种方式执行
for
循环中的内容?如果是,你需要回答你的问题,并显示一个。首先,
asterone1y-10.1f;
是一个无效的语句(它什么都不做)。有没有可能你的意思是像
asteroid1Y-=10.0f;
,它实际上会从asteroid值中减去?也许你的意思是
asteroid1Y>=-20
或其他什么。循环在条件为真时运行。
asteroid1Y
的类型也应该是整数类型,而不是浮点类型。对于较小的数字,你不会使用如果没有任何问题,但初始值越大,您将遇到麻烦,最糟糕的情况是,这将成为一个无限循环。
for (asteroid1Y = asteroid1Yorigin; asteroid1Y > -20; asteroid1Y -= 10) 
{
    std::cout << asteroid1Y << std::endl;
}