code répétitif - C - Programmation
Marsh Posté le 03-02-2015 à 09:21:21
1000 a écrit : Bonjour à tous |
http://stackoverflow.com/questions [...] ation-in-c
Marsh Posté le 03-02-2015 à 12:38:55
Merci, mais dans ce cas, je ne vois pas comment je l'inclurais dans le code complet, car je suis trop novice et mon exercice correspond à un calcul se faisant sur 3 chiffres saisie à la suite (le jour, le mois, l'année)
et dans l'immédiat je ne vois pas comment découper l'information d'une date saisie.... je n'en suit qu'a mon 3eme exo en c.
mon code dans l'ensemble est bon, je cherche juste à réduire en me demandant s'il est possible de créer une fonction pour éviter la répétition :
{
printf("veuillez saisir une date valide\n" );
return 0;
}
Marsh Posté le 03-02-2015 à 13:25:19
Ok. je pense que ton exercice consiste donc à "additionner les conditions"
tu peux donc utiliser des () supplémentaires pour tes conditions.
Exemple:
if ((blabla == 'oui' || blabla != 'truc') && (bloblo == 'zobi' || bloblo != blabla))
Marsh Posté le 03-02-2015 à 13:28:18
1000 a écrit : Merci, mais dans ce cas, je ne vois pas comment je l'inclurais dans le code complet, car je suis trop novice et mon exercice correspond à un calcul se faisant sur 3 chiffres saisie à la suite (le jour, le mois, l'année) |
Et tu peux aussi créer une fonction de validation:
int validate(int day, int month, int year) {
// Validate conditions
...
... return 1; // si pas bon
... return 0; // si bon
}
et ensuite tu pourras tester comme cela:
if (validate(date) == 0)
{
// ok
}
else
{
// pas ok
}
Marsh Posté le 03-02-2015 à 13:54:41
Tu pourrais même faire un tableau qui contient pour chaque mois, le nb de jours, sauf pour février où tu mets 0. Dans ce cas, tu calcules si c'est 28 ou 29j. Ainsi, en fonction du n° de mois - 1, t'as direct le nb de jours dans le tableau
Marsh Posté le 03-02-2015 à 19:53:24
Merci pour votre aide, je cherchais justement comment faire sous la forme d'une fonction
parfait
Marsh Posté le 03-02-2015 à 07:12:02
Bonjour à tous
Je suis débutant en c.
dans une partie de mon code je fais plusieurs test, avec message d'erreur.
je veux que la date saisie ne sois pas impossible, du genre 32/15/2000
et du coup j'ai mis plusieurs test.
Est-il possible d’alléger ce code :
/**********verification de la validiter du mois************/
if (jour==0 ||mois==0 ||annee==0 || mois>12 || jour>31 )
{
printf ("veuillez saisir une date valide\n" );
return 0;
}
/* si les mois de 30 jours sont respecté */
if (mois==4 || mois==6 || mois==9 || mois==11)
if (jour>30)
{
printf("veuillez saisir une date valide\n" );
return 0;
}
/* si la règle des 28 jours de février et du 29eme jours pour les années bissextilles est respecté */
if(annee % 4 == 0 || annee % 400 == 0)
if (mois==2 && jour>29 )
{
printf("veuillez saisir une date valide\n" );
return 0;
}
if(annee % 4 != 0 || annee % 400 != 0)
if (mois==2 && jour>28)
{
printf("veuillez saisir une date valide\n" );
return 0;
}
Merci pour votre aide