gpt4 book ai didi

c++ - 程序在 C++ 中提前结束

转载 作者:行者123 更新时间:2023-11-28 06:11:21 29 4
gpt4 key购买 nike

        int H;
int M;
int SleepH;
int SleepM;

cout << NumActivities[2][0];
cin >> H >> M;

cout << NumActivities[2][1];
cin >> SleepH >> SleepM;

int SubtractM;
int SubtractH;

if (H<=12)
{
int MH=24;
int MM=60;

SubtractH= MH-H;

SubtractM = MM-M;
}

if (SleepM==00)

{
int SleepM= SleepM+60;

int TimeLeftH;
TimeLeftH= SleepH-SubtractH;

int TimeLeftM;
TimeLeftM= SleepM-SubtractM;

int F;
F=TimeLeftM/60;

int DoThisZ;
DoThisZ= TimeLeftH + F;

float Normal = Normal + DoThisZ;
cout<<Normal;



}

}

}

以上是我的程序。它尚未完成,但在运行时,程序会在第 64 行输出 NumActivities[2][1] 后立即提前结束。我找不到任何方法来阻止它并且取消循环不会改变任何东西。

我希望程序让我输入变量 H、M、SleepH 和 SleepM,然后显示结果,但它只是在显示 NumActivities[2][1] 后关闭,而没有让我输入变量。

最佳答案

当程序询问您“您的就寝时间是几点?(以 24 小时格式):”时,如果您的答案包含冒号 (:),则它会输入您的下一个问题 - “您睡了多长时间?:”- 如好吧。

这是因为在 C++ 中,逗号分隔符不是数字的一部分,因为小数点不适用于整数,所以一旦操作找到逗号或点,提取操作就会结束,留下那个字符作为下一个要提取的。随后的提取操作发现该字符是第一个要提取的字符,因此它们都返回。

输入您的第一个答案,例如“11 30”——数字之间的空格,而不是冒号。然后,该程序还应该为您的下一个问题输入信息。

只是给出一个建议,您正在浪费迭代编号 0、1、2、4、5。因此,您可以简单地去掉 for 循环。

关于c++ - 程序在 C++ 中提前结束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31212329/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com