• C++ 定义一个计数器类,完成倒计时的功能。


    1.首先,在构造函数内进行初始化,并规定小于零则重置为零。

    1. Counter(int h,int m,int s)
    2. {
    3. if(h<0)
    4. {
    5. hour=0;
    6. }
    7. else if(m<0)
    8. {
    9. minute=0;
    10. }
    11. else if(s<0)
    12. {
    13. second=0;
    14. }
    15. else
    16. {
    17. hour=h;
    18. minute=m;
    19. second=s;
    20. }
    21. }

    2.在函数countDown()内实现倒计时的功能。

    1. void countDown()
    2. {
    3. for( i=hour;i>=0;i--)
    4. {
    5. for( j=minute;j>=0;j--)
    6. {
    7. for( k=second;k>=0;k--)
    8. {
    9. long temp=time(NULL);
    10. while(time(NULL)==temp);
    11. if(--second<=0)
    12. {
    13. second=59;
    14. if(--minute<=0)
    15. {
    16. minute=59;
    17. if(--hour<=0)
    18. {
    19. hour=23;
    20. }
    21. }
    22. }
    23. Sleep(1000);
    24. system("cls");
    25. cout << "The remaining time is ";
    26. if(i<10)
    27. cout << "0";
    28. cout << i << " : ";
    29. if(j<10)
    30. cout << "0";
    31. cout << j << " : ";
    32. if(k<10)
    33. cout << "0";
    34. cout << k << endl;
    35. }
    36. }
    37. }
    38. system("color f4");
    39. cout<<"Time is up !!!" <
    40. system("pause");
    41. }

    3.测试程序功能。

    1. int main()
    2. {
    3. //测试计数器类
    4. system("color f1");
    5. int hour_;
    6. int minute_;
    7. int second_;
    8. cout << "Please enter the time ! " << endl;
    9. cout << "hour : " <
    10. cin >> hour_;
    11. cout << "minute : "<
    12. cin >> minute_;
    13. cout << "second : "<
    14. cin >> second_;
    15. cout << endl;
    16. Counter text1(hour_,minute_,second_);
    17. text1.countDown();
    18. return 0
    19. }

    完整代码如下:

    1. #include
    2. #include
    3. #include
    4. #include
    5. #include
    6. #include
    7. using namespace std;
    8. //计数器类
    9. class Counter
    10. {
    11. public:
    12. Counter(int h,int m,int s)
    13. {
    14. if(h<0)
    15. {
    16. hour=0;
    17. }
    18. else if(m<0)
    19. {
    20. minute=0;
    21. }
    22. else if(s<0)
    23. {
    24. second=0;
    25. }
    26. else
    27. {
    28. hour=h;
    29. minute=m;
    30. second=s;
    31. }
    32. }
    33. void countDown()
    34. {
    35. for( i=hour;i>=0;i--)
    36. {
    37. for( j=minute;j>=0;j--)
    38. {
    39. for( k=second;k>=0;k--)
    40. {
    41. long temp=time(NULL);
    42. while(time(NULL)==temp);
    43. if(--second<=0)
    44. {
    45. second=59;
    46. if(--minute<=0)
    47. {
    48. minute=59;
    49. if(--hour<=0)
    50. {
    51. hour=23;
    52. }
    53. }
    54. }
    55. Sleep(1000);
    56. system("cls");
    57. cout << "The remaining time is ";
    58. if(i<10)
    59. cout << "0";
    60. cout << i << " : ";
    61. if(j<10)
    62. cout << "0";
    63. cout << j << " : ";
    64. if(k<10)
    65. cout << "0";
    66. cout << k << endl;
    67. }
    68. }
    69. }
    70. system("color f4");
    71. cout<<"Time is up !!!" <
    72. system("pause");
    73. }
    74. private:
    75. int hour;
    76. int minute;
    77. int second;
    78. int i,j,k;
    79. };
    80. int main()
    81. {
    82. //测试计数器类
    83. system("color f1");
    84. int hour_;
    85. int minute_;
    86. int second_;
    87. cout << "Please enter the time ! " << endl;
    88. cout << "hour : " <
    89. cin >> hour_;
    90. cout << "minute : "<
    91. cin >> minute_;
    92. cout << "second : "<
    93. cin >> second_;
    94. cout << endl;
    95. Counter text1(hour_,minute_,second_);
    96. text1.countDown();
    97. return 0
    98. }

  • 相关阅读:
    yolov作者简介
    MySQL高级SQL语句
    生命周期成本VE——五十铃汽车
    排查Windows内存泄漏问题的详细记录
    MQ系列2:消息中间件的技术选型
    生成模型(1)无监督生成模型
    会声会影2024(Corel VideoStudio)正式版安装下载步骤教程
    NSSCTF第13页(1)
    1373. 二叉搜索子树的最大键值和
    《深入理解计算机系统》书籍学习笔记 - 第二课 - 位,字节和整型
  • 原文地址:https://blog.csdn.net/weixin_74287172/article/details/134020250