第十七周 【项目4-日期结构体】(2)

ゞ 浴缸里的玫瑰 2022-08-06 03:24 216阅读 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 A(int ,int ,int );
  16. struct Date
  17. {
  18. string name;
  19. int year;
  20. int month;
  21. int day;
  22. };
  23. int main()
  24. {
  25. Date date1,date2;
  26. cout<<"请输入两个人的姓名和生日:\n ";
  27. cout<<"请输入第一个人的姓名和生日(生日输入顺序为年,月,日):\n ";
  28. cin>>date1.name>>date1.year>>date1.month>>date1.day;
  29. cout<<"请输入第二个人的姓名和生日(生日输入顺序为年,月,日):\n ";
  30. cin>>date2.name>>date2.year>>date2.month>>date2.day;
  31. int days1,days2,c;
  32. days1=A(date1.year,date1.month,date1.day);
  33. days2=A(date2.year,date2.month,date2.day);
  34. c=days1-days2;
  35. if(c<0)
  36. c=-c;
  37. cout<<date1.name<<"和"<<date2.name<<"的生日相差"<<c<<"天."<<endl;
  38. return 0;
  39. }
  40. int A(int y,int m,int d)
  41. {
  42. int s=0;
  43. while(m>0)
  44. {
  45. m--;
  46. switch(m)
  47. {
  48. case 2:
  49. s=s+28;
  50. break;
  51. case 4:
  52. case 6:
  53. case 9:
  54. case 11:
  55. s=s+30;
  56. break;
  57. case 1:
  58. case 3:
  59. case 5:
  60. case 7:
  61. case 8:
  62. case 10:
  63. case 12:
  64. s=s+31;
  65. break;
  66. }
  67. }
  68. s=s+d;
  69. while(y>1850)
  70. {
  71. if((y%4==0&&y%100!=0)||y%400==0)
  72. {
  73. s=s+366;
  74. }
  75. else
  76. {
  77. s=s+365;
  78. }
  79. y--;
  80. }
  81. return s;
  82. }

运行结果:

Center

发表评论

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

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

相关阅读