Probleme de variable ... [C - Gros débutant] - C - Programmation
Marsh Posté le 31-12-2008 à 11:51:21
Pour ton warning suffit de modifier la déclaration de ta variable.
Quelque chose du genre : int aaaa = 0;
C'est quoi ça???
Code :
|
Supprime la ligne du while, elle sert à rien du tout.
scanf c'est le mal.
http://www.siteduzero.com/tutoriel [...] fgets.html
Et en principe on purge pas stdin de cette manière.
Marsh Posté le 31-12-2008 à 12:06:06
Ah ouais bien vu pour la déclaration Merci !
J'vais voir ce que tu m'as envoyé, c'est pour le if else ou rien a avoir ?
Marsh Posté le 31-12-2008 à 19:49:28
Et on devine directement quelle sera ta question suivante : pourquoi aaaa vaut toujours zéro dans la fonction calcul() ?
Parce que la variable aaaa que tu manipule dans bissextile() n'a rien à voir avec la variable du même nom dans main(). Ou tu passes par des pointeurs (mais si tu débutes, je doute que tu maitrises ce concept), ou tu retournes la valeur saisie dans bissextile(), via un truc du genre (en plus de fortement te conseiller d'utiliser autre chose que scanf) :
Code :
|
Et dans main, utilise la fonction bissextile de cette façon :
Code :
|
Marsh Posté le 31-12-2008 à 11:44:56
Voila, j'ai un probleme avec mon code ...
Tout dabord il me mets un warning a la ligne 16 , une erreur C4700 "variable aaaa non initialisé utilisée" : Je ne comprend pas trop ce que ca veut dire...
Ensuite, il ne prend pas mon "if else", il me mets toujours que l'année est bissextile
#include<stdio.h>
#include<conio.h>
void bissextile(int aaaa);
void calcul(int aaaa);
int main()
{
int relance,aaaa;
relance = 1;
while (relance == 1)
{
bissextile(aaaa);
calcul(aaaa);
// Demande de relance
fflush(stdin);
printf("\n\nRelancer le programme ? " );printf("1=Oui " );printf("0=Non\n" );
scanf("%int",&relance);
fflush(stdin);
}
while (relance == 0)
{
return 0;
}
}
void bissextile(int aaaa)
{
printf("Veuillez entre une annee (Au format aaaa)" );
scanf("%d",&aaaa);
printf("%d",aaaa);
}
void calcul(int aaaa)
{
if (( aaaa % 4 == 0 && aaaa % 100 != 0) || (aaaa % 400 == 0))
{
printf("c'est bissextile\n" );
}
else
{
printf("ce n'est pas bissextile\n" );
}
}