第十七周 【项目5-玩日期时间】

£神魔★判官ぃ 2022-08-06 03:26 207阅读 0赞
  1. 问题及代码:
  2. /*
  3. *Copyright (c) 2014,烟台大学计算机学院
  4. *ALL right reserved
  5. *文件名:日期结构体
  6. *作者;童宇
  7. *完成日期:2014年月日
  8. *版本号v1.0
  9. *问题描述:定义一个结构体变量(包括年、月、日)
  10. *输入描述:输入当前日期和时间
  11. *程序输出:该日是该年的第几天。现在是今天的多少秒。
  12. */
  13. #include <iostream>
  14. using namespace std;
  15. int dAys(int,int,int);
  16. int sEconds(int,int,int);
  17. struct Date
  18. {
  19. int year;
  20. int month;
  21. int day;
  22. int hour;
  23. int minute;
  24. int second;
  25. };
  26. int main()
  27. {
  28. int days,seconds,i;
  29. Date date;
  30. for(i=0; i<50; i++)
  31. {
  32. cout<<"请输入当前时间(生日输入格式为年,月,日,时(24时计时法),分,秒):\n ";
  33. cin>>date.year>>date.month>>date.day>>date.hour>>date.minute>>date.second;
  34. if(date.hour>23&&date.minute>59&&date.second>59&&date.hour<0&&&date.minute<0&&&date.second<0)
  35. {
  36. cout<<"\t请按正确格式输入!";
  37. }
  38. else
  39. {
  40. days=dAys(date.year,date.month,date.day);
  41. seconds=sEconds(date.hour,date.minute,date.second);
  42. cout<<"\t今天是该年的第"<<days<<"天\n";
  43. cout<<"\t现在是今天的"<<seconds<<"秒";
  44. break;
  45. }
  46. }
  47. return 0;
  48. }
  49. int dAys(int y,int m,int d)
  50. {
  51. int s=0;
  52. while(m>0)
  53. {
  54. m--;
  55. switch(m)
  56. {
  57. case 2:
  58. s=s+28;
  59. break;
  60. case 4:
  61. case 6:
  62. case 9:
  63. case 11:
  64. s=s+30;
  65. break;
  66. case 1:
  67. case 3:
  68. case 5:
  69. case 7:
  70. case 8:
  71. case 10:
  72. case 12:
  73. s=s+31;
  74. break;
  75. }
  76. }
  77. s=s+d;
  78. if((y%4==0&&y%100!=0)||y%400==0)
  79. {
  80. s=s+1;
  81. }
  82. return s;
  83. }
  84. int sEconds(int h,int m,int s)
  85. {
  86. int a=0;
  87. while(h>0)
  88. {
  89. a=a+3600;
  90. h--;
  91. }
  92. while(m>0)
  93. {
  94. a=a+60;
  95. m--;
  96. }
  97. a=a+s;
  98. return a;
  99. }

运行结果:

Center

发表评论

表情:
评论列表 (有 0 条评论,207人围观)

还没有评论,来说两句吧...

相关阅读

    相关

    一.学习   1.这一周基本上进入复习周了,大家都在备考当中,而我感觉这一周的效率不是很高,没有复习到多少东西,进度和16周的没有什么区别,所以自己内心还是有点小慌张