簡體   English   中英

程序在C ++早期結束

[英]Program ends early in C++

        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循環。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM