Un petit problème en c
anassinho13
Messages postés
18
Date d'inscription
Statut
Membre
Dernière intervention
-
Char Snipeur Messages postés 9813 Date d'inscription Statut Contributeur Dernière intervention -
Char Snipeur Messages postés 9813 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour tout le monde,
En fait à mon passage,j'ai voulu se rappeler un peu de ce langage que j'apprécie d'ailleurs. sinon il d''agit d'un programme qui appel une fonction ou une procédure comme vous voulez parce qu'il est de type void.Cette dernière permet de renvoyer le nombre paire et le nombre impaire parmi les variable que j'ai entré en paramettre de la fonction par l'intermédiaire d'une structure.Le problème c'est que mon programme renvoie tout le temps les valeurs sont paire il passe pas à l'autre condition comme c'etait avant lorsque j'ai testé l'exo le main.
ci-dessous mon code et merci d'avance
#include<stdio.h>
#include<conio.h>
struct donnee
{
int a;
int b;
};
void paire_impaire(donnee)
{
donnee d;
if(d.a%2==0 && d.b%2==0)
printf("a et b sont paire ");
else
if(d.a%2!=0 && d.b%2==0)
printf("a est impaire mais b est paire ");
else if(d.a%2==0 && d.b%2!=0)
printf("a est paire mais b est impaire ");
else if(d.a%2!=0 && d.b%2!=0)
printf("a et b sont tous impaires ");
}
main()
{
donnee d;
int T[20];
printf("entrer la valeur de a : ");
scanf("%d",&d.a);
printf("entrer la valeur de b : ");
scanf("%d",&d.b);
paire_impaire(d);
getch();
}
En fait à mon passage,j'ai voulu se rappeler un peu de ce langage que j'apprécie d'ailleurs. sinon il d''agit d'un programme qui appel une fonction ou une procédure comme vous voulez parce qu'il est de type void.Cette dernière permet de renvoyer le nombre paire et le nombre impaire parmi les variable que j'ai entré en paramettre de la fonction par l'intermédiaire d'une structure.Le problème c'est que mon programme renvoie tout le temps les valeurs sont paire il passe pas à l'autre condition comme c'etait avant lorsque j'ai testé l'exo le main.
ci-dessous mon code et merci d'avance
#include<stdio.h>
#include<conio.h>
struct donnee
{
int a;
int b;
};
void paire_impaire(donnee)
{
donnee d;
if(d.a%2==0 && d.b%2==0)
printf("a et b sont paire ");
else
if(d.a%2!=0 && d.b%2==0)
printf("a est impaire mais b est paire ");
else if(d.a%2==0 && d.b%2!=0)
printf("a est paire mais b est impaire ");
else if(d.a%2!=0 && d.b%2!=0)
printf("a et b sont tous impaires ");
}
main()
{
donnee d;
int T[20];
printf("entrer la valeur de a : ");
scanf("%d",&d.a);
printf("entrer la valeur de b : ");
scanf("%d",&d.b);
paire_impaire(d);
getch();
}
A voir également:
- Un petit problème en c
- Petit 2 ✓ - Forum Bureautique
- Comment imprimer une photo en petit - Forum Photo numérique
- Trier du plus petit au plus grand excel - Guide
- Petit 3 ✓ - Forum Word
- Comment écrire mètre carré avec un m+2 expos? ✓ - Forum Windows
1 réponse
le problème viens de la déclaration de ta fonction :
void paire_impaire(donnee) //ici tu indique une fonction qui prend en paramètre une variable de type donnee, mais tu oublie de lui donné un nom { donnee d;ici tu redéfini une NOUVELLE variable d de type donnee qui n'a donc rien a voir avec celle du main.En correction, il faut déjà faire ça :
void paire_impaire(donnee d) { //donnee d;ça devrait suffire