码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 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. }

  • 相关阅读:
    Android Jetpack 全家桶系列(二): Lifecycle(使用篇)
    gitlab之cicd的gitlab-runner集成-dockerfile构建环境
    springboot物流配送推荐系统毕业设计源码072257
    【21天python打卡】第14天 网络爬虫(5)
    Python找不到其他文件夹下的py文件并提示ModuleNotFoundError: No module named ‘xxx‘
    2022牛客多校九 B-Two Frogs(概率DP+前缀和优化)
    MySQL数据库期末考试试题及参考答案(08)
    nest.js创建以及error相关问题
    LOSER的预习笔记——————————清除setlinterval定时器
    Beam failure Recovery
  • 原文地址:https://blog.csdn.net/weixin_74287172/article/details/134020250
  • 最新文章
  • .NET 11 Preview 4 正式发布:Runtime-Async 全面启用、Process API 大幅扩展
    大数据没那么远:把散乱数据理顺,让业务敢用
    高性能百度OCR ONNX Runtime C#实现
    C#/.NET/.NET Core技术前沿周刊 | 第 70 期(2026年5.01-5.10)
    Triton学习 · Part 1 · Hello, world!
    manyspeech-cli 本地命令行语音识别工具
    PortSwigger SQL注入LAB5 & LAB6
    Go-Spring 项目概览
    "HyFormer: Revisiting the Roles of Sequence Modeling and Feature Interaction in CTR Prediction" 论文笔记
    WIZnet-EVB-Pico2开始,用MicroPython玩转以太网开发
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号