Releve en langage c
Fermé
natha89
Messages postés
1
Date d'inscription
jeudi 27 mars 2008
Statut
Membre
Dernière intervention
27 mars 2008
-
27 mars 2008 à 14:12
C_Master - 29 mars 2008 à 14:24
C_Master - 29 mars 2008 à 14:24
A voir également:
- Releve en langage c
- Langage ascii - Guide
- Relevé identité opérateur - Guide
- Débuter langage batch windows - Guide
- Puissance en langage c ✓ - Forum C
- Que veut dire le rectangle en langage sms - Forum Nokia
2 réponses
Salut,
Il y a quelques années que je n'ai pas programmé en C, mais il me semble qu'il y a quelques erreurs de syntaxe et de variable:
1) dans la fonction affiche_relevemeteo
a/ il y a un ";" de trop dans la boucle for
b/ dans l'affichage du résultat, tu utilises la variable "tab" alors que c'est "t" qui est défini ("tab" est défini dans main)
2- dans la fonction main:
a/ n est défini mais pas initialisé
b/ le type de i n'a pas besoin d'être précisé dans le for puisque i est déjà défini
c/ Les accolades sont placés de tel manière qu'il ne semble pas y avoir dans le main d'appel à la fonction d'affichage
d/ Je ne comprends pas quel est la source des données: est-elle saisie? Il faudrait peut-être un message plus explicite en guise de prompt...
Il y a quelques années que je n'ai pas programmé en C, mais il me semble qu'il y a quelques erreurs de syntaxe et de variable:
1) dans la fonction affiche_relevemeteo
a/ il y a un ";" de trop dans la boucle for
b/ dans l'affichage du résultat, tu utilises la variable "tab" alors que c'est "t" qui est défini ("tab" est défini dans main)
2- dans la fonction main:
a/ n est défini mais pas initialisé
b/ le type de i n'a pas besoin d'être précisé dans le for puisque i est déjà défini
c/ Les accolades sont placés de tel manière qu'il ne semble pas y avoir dans le main d'appel à la fonction d'affichage
d/ Je ne comprends pas quel est la source des données: est-elle saisie? Il faudrait peut-être un message plus explicite en guise de prompt...
Salut,
Si je comprends bien, les infos meteo sont entrées à la main, au clavier.
Dans tous les cas, il me semble que l'utilisation de tableaux pour stoker les données en vue d'un traitement ultérieur (ex: float tab_pluie[];int tab_igro[];...) sans structure (struct) serait mieux adapté et plus simple pour toi.
En effet: Simplifie toi la vie en ne créant qu'une fonction main, car tu t'embrouille un peu dans tes accolades...
De plus, combien de fois la boucle doit-elle tourner? (n=combien?)
le fait d'utiliser scanf et printf peuvent tres bien etre utilisés dans la fonction main.
Essaye d'y penser.
Un exemple pour te donner une idée plus concrète pour un relevé sur 7 jours:
main()
{
/* déclarations */
float tmin[7];
float tmax[7];
float pluie[7];
int hygro[7];
int i;
/* prise des infos */
printf ("Bonjour,\n\n"
"Veuillez entrer les infos meteos suivantes: tmax, tmin, pluie, hygrometrie,\n"
"pour chaque jour de la semaine.\n\n");
for (i=0;i<7;++i)
{
printf ("Tmax pour le jour %d: ",i+1);
scanf ("%f",&tmax[i]);
printf ("Tmin pour le jour %d: ",i+1);
scanf ("%f",&tmin[i]);
printf ("Quantite de pluie pour le jour %d: ",i+1);
scanf ("%f",&pluie[i]);
printf ("Hygrometrie pour le jour %d: ",i+1);
scanf ("%d",&hygro[i]);
}
/* mise en tableau */
/* haut du tableau */
printf ("\n\n\nJour\tTmax\tTmin\tPluie\tHygro\n");
printf ("------------------------------------------------\n");
/* corps du tableau */
for (i=0;i<7;++i)
{
printf ("%d\t%.2f\t%.2f\t%.2f\t%d\n",i+1,tmax[i],tmin[i],pluie[i],hygro[i]);
}
system("PAUSE");
return 0;
}
Si je comprends bien, les infos meteo sont entrées à la main, au clavier.
Dans tous les cas, il me semble que l'utilisation de tableaux pour stoker les données en vue d'un traitement ultérieur (ex: float tab_pluie[];int tab_igro[];...) sans structure (struct) serait mieux adapté et plus simple pour toi.
En effet: Simplifie toi la vie en ne créant qu'une fonction main, car tu t'embrouille un peu dans tes accolades...
De plus, combien de fois la boucle doit-elle tourner? (n=combien?)
le fait d'utiliser scanf et printf peuvent tres bien etre utilisés dans la fonction main.
Essaye d'y penser.
Un exemple pour te donner une idée plus concrète pour un relevé sur 7 jours:
main()
{
/* déclarations */
float tmin[7];
float tmax[7];
float pluie[7];
int hygro[7];
int i;
/* prise des infos */
printf ("Bonjour,\n\n"
"Veuillez entrer les infos meteos suivantes: tmax, tmin, pluie, hygrometrie,\n"
"pour chaque jour de la semaine.\n\n");
for (i=0;i<7;++i)
{
printf ("Tmax pour le jour %d: ",i+1);
scanf ("%f",&tmax[i]);
printf ("Tmin pour le jour %d: ",i+1);
scanf ("%f",&tmin[i]);
printf ("Quantite de pluie pour le jour %d: ",i+1);
scanf ("%f",&pluie[i]);
printf ("Hygrometrie pour le jour %d: ",i+1);
scanf ("%d",&hygro[i]);
}
/* mise en tableau */
/* haut du tableau */
printf ("\n\n\nJour\tTmax\tTmin\tPluie\tHygro\n");
printf ("------------------------------------------------\n");
/* corps du tableau */
for (i=0;i<7;++i)
{
printf ("%d\t%.2f\t%.2f\t%.2f\t%d\n",i+1,tmax[i],tmin[i],pluie[i],hygro[i]);
}
system("PAUSE");
return 0;
}