Bonjour à tous
J'ai un exercice merci beaucoup d'avance
•Ecrire un programme qui étant donnée un mois et son premier jour, affiche le premier jour du mois suivant.
Une année est bissextile si annee est divisible par 4 et n'est pas divisible par 100 ; ou bien est divisible par 400. Le
premier jour du mois est codé par un entier de 0(dimanche) à 6(samedi).
_______________________________________
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int main ()
{
int annee;
Printf("saisir une annee");
Scanf("%d",&annee);
If(annee%4==0&&annee%100!=0)||(annee %400==0))
Printf("%d est une annee bissextile",annee);
Else
Printf("%d n'est pas une annee bissextile",annee);
return 0;
}
Merci d'avance
L'énoncé te parle d'années bissextiles, mais c'est presque un détail.
Oublie le langage C.
Si je te dis que le 1er janvier 1950 était un mardi, sais tu me dire si le 1er février 1950 était un lundi, un mardi etc ?
Et ce qui m'intéresse, ce n'est pas forcément la réponse, c'est le raisonnement, la liste des étapes.
Parce que dans ton algorithme, il faudra que tu reproduises ce raisonnement.
Bonjour à tous les deux,
J'ajoute que le sujet, en ce qui concerne les données
Bonjour à tous
Merci beaucoup à vous deux pour vos réponses !
L'énoncé est bien intégral
Tu fais tout à l'envers.
En algorithmique, on commence par établir un plan, un processus. Et ensuite, quand on a un plan, on traduit ça en langage informatique.
Le plan, il est en français.
Je recopie donc ma question, tu ne l'as pas vue :
Si je te dis que le 1er janvier 1950 était un mardi, sais tu me dire si le 1er février 1950 était un lundi, un mardi etc ?
Et ce qui m'intéresse, ce n'est pas forcément la réponse, c'est le raisonnement, la liste des étapes.
bonjour
voilà ce que j'ai trouvé après une recherche
#include <stdio.h>
int main()
{
unsigned jour;
unsigned mois;
printf("Entrez une date (jj/mm) : ");
scanf("%u/%u", &jour, &mois);
unsigned njours = (mois - 1) * 31;
switch (mois)
{
case 12:
--njours;
case 11:
case 10:
--njours;
case 9:
case 8:
case 7:
--njours;
case 6:
case 5:
--njours;
case 4:
case 3:
njours -= 3;
break;
}
njours += (jour - 1);
switch (njours % 7)
{
case 0:
printf("C'est un samedi\n");
break;
case 1:
printf("C'est un dimanche\n");
break;
case 2:
printf("C'est un lundi\n");
break;
case 3:
printf("C'est un mardi\n");
break;
case 4:
printf("C'est un mercredi\n");
break;
case 5:
printf("C'est un jeudi\n");
break;
case 6:
printf("C'est un vendredi\n");
break;
}
return 0;
}
}
Si le 1er janvier 1950 était un mardi, alors le 8 janvier aussi,
le 15 janvier aussi,
le 22 janvier aussi,
le 29 janvier aussi,
le 30 janvier était un mercredi
le 31 janvier était un jeudi
et le 1er février était un vendredi.
Et l'information utile ici, c'est de savoir que le mois de janvier a 31 jours.
31 jours, c'est 4 semaines + 3jours.
30 jours, c'est 4 semaines + 2jours.
29 jours, c'est 4 semaines + 1jour.
28 jours, c'est 4 semaines .
Partant d'une date donnée,
Quel est le mois en cours ?
Combien de jour y-a-t-il dans ce mois ?
avec un petit truc vicieux : si on est en février, il faudra tester si c'est une année bissextile ou non. (dans une première version, on peut faire l'impasse, puis ensuite, faire les corrections pour traiter les années bissextiles)
Quand on connaît le nombre de jours dans le mois à traiter, alors on sait combien il faut ajouter ou retrancher au n° de jour de départ.
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :