Problemes de macro
sikim69
Messages postés
33
Date d'inscription
Statut
Membre
Dernière intervention
-
sikim69 Messages postés 33 Date d'inscription Statut Membre Dernière intervention -
sikim69 Messages postés 33 Date d'inscription Statut Membre Dernière intervention -
Bonjour, voilà je suis en cours d'informatique en langage C.
J'ai un probleme de syntaxe dans la macro d'apres le programme d'execution..
Mais je ne trouve pas où est l'erreur..
Pouvez vous me le dire ?
(LA DEFINE apres les // fonctionne..)
(LA DEFINE sans les // ne fonctionne pas..)
Merci et bonne journée à vous !!
J'ai un probleme de syntaxe dans la macro d'apres le programme d'execution..
Mais je ne trouve pas où est l'erreur..
Pouvez vous me le dire ?
(LA DEFINE apres les // fonctionne..)
(LA DEFINE sans les // ne fonctionne pas..)
#include<stdio.h> #include<conio-bis.h> #define ANCIENNETE(jour,mois,annee,jour2,mois2,annee2) (mois2 > mois ? m= mois2 - mois, annee2 - annee : mois2 == mois && jour2 >= jour ? m = 12 - mois - mois2, annee2 - annee-1) //#define ANCIENNETE(jour,mois,annee,jour2,mois2,annee2) (mois2 > mois ? annee2 - annee : mois2 == mois && jour2 >= jour ? annee2 - annee : annee2 - annee-1) int main() { int x,annee,annee2,mois,mois2,jour,jour2,m; printf("Quel est la date de votre arrivee ? (ECRIRE EN CHIFFRE)"); printf("\nAnnee ? "); scanf("%d",&annee); printf("\nMois ? "); scanf("%d",&mois); printf("\nJour ? "); scanf("%d",&jour); printf("\nDate d'arrivee : %d/%d/%d",jour,mois,annee); printf("\n\nQuel est la date du jour ? (ECRIRE EN CHIFFRE)"); printf("\nAnnee ? "); scanf("%d",&annee2); printf("\nMois ? "); scanf("%d",&mois2); printf("\nJour ? "); scanf("%d",&jour2); printf("\nDate actuelle : %d/%d/%d",jour2,mois2,annee2); x=ANCIENNETE (jour,mois,annee,jour2,mois2,annee2); printf("\n\nResultat : %d mois et %d annees",m,x); getchar(); getchar(); return 0; }
Merci et bonne journée à vous !!
A voir également:
- Problemes de macro
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Jitbit macro recorder - Télécharger - Confidentialité
- Télécharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Macro maker - Télécharger - Divers Utilitaires
- Macro word - Guide
3 réponses
le probleme c'est dans le macro ANCIENNETe ne retourne pas une valeur mais tu as fais
x=ANCIENNETE (jour,mois,annee,jour2,mois2,annee2);
donc il faut passer x comme un parametre a ton macro
x=ANCIENNETE (x,jour,mois,annee,jour2,mois2,annee2);
en plus dans le macro il ya un erreur de syntax cad dans:
la deuxieme condition mois2 == mois && jour2 >= jour ? m = 12 - mois - mois2, annee2 - annee-1
il faut ajouter l'autre cas si la condition mois2 == mois && jour2 >= jour n'est pas verifier il faut faire
mois2 == mois && jour2 >= jour ? m = 12 - mois - mois2, annee2 - annee-1:valeur
donc le programme complet est:
_________
#include<stdio.h>
#include<conio.h>
#define ANCIENNETE(x,jour,mois,annee,jour2,mois2,annee2) (x=(mois2 > mois ? m= mois2 - mois, annee2 - annee : ((mois2 == mois && jour2 >= jour)? (m=12-mois-mois2,annee2-annee-1):autre valeur)));
int main()
{
int x,annee,annee2,mois,mois2,jour,jour2,m;
printf("Quel est la date de votre arrivee ? (ECRIRE EN CHIFFRE)");
printf("\nAnnee ? ");
scanf("%d",&annee);
printf("\nMois ? ");
scanf("%d",&mois);
printf("\nJour ? ");
scanf("%d",&jour);
printf("\nDate d'arrivee : %d/%d/%d",jour,mois,annee);
printf("\n\nQuel est la date du jour ? (ECRIRE EN CHIFFRE)");
printf("\nAnnee ? ");
scanf("%d",&annee2);
printf("\nMois ? ");
scanf("%d",&mois2);
printf("\nJour ? ");
scanf("%d",&jour2);
printf("\nDate actuelle : %d/%d/%d",jour2,mois2,annee2);
x=ANCIENNETE(x,jour,mois,annee,jour2,mois2,annee2)
printf("\n\nResultat : %d mois et %d annees",m,x);
getch();
}
____________
Je m'excuse pour mon mauvais français je souhaite que tu m'a compris :D
GOOD LUCK
x=ANCIENNETE (jour,mois,annee,jour2,mois2,annee2);
donc il faut passer x comme un parametre a ton macro
x=ANCIENNETE (x,jour,mois,annee,jour2,mois2,annee2);
en plus dans le macro il ya un erreur de syntax cad dans:
la deuxieme condition mois2 == mois && jour2 >= jour ? m = 12 - mois - mois2, annee2 - annee-1
il faut ajouter l'autre cas si la condition mois2 == mois && jour2 >= jour n'est pas verifier il faut faire
mois2 == mois && jour2 >= jour ? m = 12 - mois - mois2, annee2 - annee-1:valeur
donc le programme complet est:
_________
#include<stdio.h>
#include<conio.h>
#define ANCIENNETE(x,jour,mois,annee,jour2,mois2,annee2) (x=(mois2 > mois ? m= mois2 - mois, annee2 - annee : ((mois2 == mois && jour2 >= jour)? (m=12-mois-mois2,annee2-annee-1):autre valeur)));
int main()
{
int x,annee,annee2,mois,mois2,jour,jour2,m;
printf("Quel est la date de votre arrivee ? (ECRIRE EN CHIFFRE)");
printf("\nAnnee ? ");
scanf("%d",&annee);
printf("\nMois ? ");
scanf("%d",&mois);
printf("\nJour ? ");
scanf("%d",&jour);
printf("\nDate d'arrivee : %d/%d/%d",jour,mois,annee);
printf("\n\nQuel est la date du jour ? (ECRIRE EN CHIFFRE)");
printf("\nAnnee ? ");
scanf("%d",&annee2);
printf("\nMois ? ");
scanf("%d",&mois2);
printf("\nJour ? ");
scanf("%d",&jour2);
printf("\nDate actuelle : %d/%d/%d",jour2,mois2,annee2);
x=ANCIENNETE(x,jour,mois,annee,jour2,mois2,annee2)
printf("\n\nResultat : %d mois et %d annees",m,x);
getch();
}
____________
Je m'excuse pour mon mauvais français je souhaite que tu m'a compris :D
GOOD LUCK
Merci du temps que tu m'as consacré.. Mais le probleme est que le code ne marche pas.. J'ai une erreur de syntaxe.. Mais c'est au niveau des parentheses, des deux points etc.. Mais j'arrive pas à trouver..
#include<stdio.h> #include<conio-bis.h> #define ANCIENNETE(jour,mois,annee,jour2,mois2,annee2) (mois2 >= mois && jour2>=jour ? (m= mois2 - mois, annee2 - annee : (mois2 >= mois && jour2 <= jour ? (m=mois2-mois-1,annee2-annee : (mois2<mois && jour2>=jour ? (m=mois-mois2, m=12-m, annee2-annee-1 : (mois2<mois && jour2<jour ? m=mois-mois2, m=12-m-1, annee2-annee-1))))))) int main() { int x,annee,annee2,mois,mois2,jour,jour2,m; printf("Quel est la date de votre arrivee ? (ECRIRE EN CHIFFRE)"); printf("\nAnnee ? "); scanf("%d",&annee); printf("\nMois ? "); scanf("%d",&mois); printf("\nJour ? "); scanf("%d",&jour); printf("\nDate d'arrivee : %d/%d/%d",jour,mois,annee); printf("\n\nQuel est la date du jour ? (ECRIRE EN CHIFFRE)"); printf("\nAnnee ? "); scanf("%d",&annee2); printf("\nMois ? "); scanf("%d",&mois2); printf("\nJour ? "); scanf("%d",&jour2); printf("\nDate actuelle : %d/%d/%d",jour2,mois2,annee2); x=ANCIENNETE (jour,mois,annee,jour2,mois2,annee2); printf("\n\nResultat : %d mois et %d annees",m,x); getchar(); getchar(); return 0; }
Revoilà le code modifié.. J'espere que vous pourrez m'aider à rendre le macro correct..