Advertisement
Guest User

Untitled

a guest
Jun 25th, 2017
55
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.27 KB | None | 0 0
  1. /*---------------------------------------------------------------------------------------------------------------------------
  2. Analyse:
  3. jour: 1<=j<=(28, 29, 30 ou 31)
  4. mois: 1<=m<=12
  5. année: 1<=a<=...
  6.  
  7. annee_biss = 1 si (annee%4 = 0) et (annee%100 != 0)
  8. annee_biss = true si (annee%400 = 0)
  9. ---------------------------------------------------------------------------------------------------------------------------*/
  10. #include<stdio.h>
  11. main()
  12. {
  13. int jour, mois, annee, j_suiv, m_suiv, a_suiv ;
  14. int annee_biss, jour_max ;
  15.  
  16. start:
  17. printf(" -----------------------------------------\n");
  18. printf(" Lendemain d'une date donnee\n");
  19. printf(" -----------------------------------------\n");
  20. printf(" \n Entrez une date (Jour/Mois/Annee):\n\n");
  21. printf("\tJour: ");
  22. scanf("%d", &jour);
  23. printf("\tMois: ");
  24. scanf("%d", &mois);
  25. printf("\tAnnee: ");
  26. scanf("%d", &annee);
  27.  
  28. if(jour>=1 && jour<=31 && mois>=1 && mois<=12 && annee>=1) {
  29.  
  30. if ( (jour==30 || jour==31) && (mois==2) ) {
  31. printf("\n\t Erreur!\n\t Le mois 2 ne contient pas plus de 29 jours.\n");
  32. system("pause>nul");
  33. system("cls");
  34. goto start;
  35. }
  36.  
  37. //Déterminer si l'annéee est bissextile
  38. if (annee%4 != 0) {
  39. annee_biss = 0 ;
  40. } else if (annee%100 !=0) {
  41. annee_biss = 1 ;
  42. } else if (annee%400 !=0) {
  43. annee_biss = 0 ;
  44. } else {
  45. annee_biss = 1 ;
  46. }
  47.  
  48. //Déterminer le dernier jour du mois
  49. switch (mois) {
  50. case 1: case 3: case 5: case 7: case 8: case 10: case 12: {
  51. jour_max = 31 ;
  52. break;
  53. }
  54. case 4: case 6: case 9: case 11: {
  55. jour_max = 30 ;
  56. break;
  57. }
  58. case 2: {
  59. if (annee_biss == 1) {
  60. jour_max = 29 ;
  61. } else if (annee_biss == 0) {
  62. jour_max = 28 ;
  63. }
  64. break;
  65. }
  66. }
  67.  
  68. //Déterminer la date du jour suivant
  69. if (jour == jour_max) {
  70. j_suiv = 1 ;
  71. if (mois == 12) {
  72. m_suiv = 1 ;
  73. a_suiv = annee + 1 ;
  74. } else {
  75. m_suiv = mois + 1 ;
  76. a_suiv = annee ;
  77. }
  78. } else {
  79. j_suiv = jour + 1 ;
  80. m_suiv = mois ;
  81. a_suiv = annee ;
  82. }
  83.  
  84. //Afficher la date du jour suivant
  85. printf("\n La date du lendemain est:\n \n\t%d / %d / %d\n", j_suiv,m_suiv,a_suiv);
  86. } else {
  87. printf("\n\t Erreur!\n\t Donnees non valides.\n");
  88. }
  89. printf("\n -----------------------------------------\n");
  90. system("pause>nul");
  91. system("cls");
  92. goto start;
  93. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement