Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1017 connectés 

  FORUM HardWare.fr
  Programmation
  C

  [C] Erreur que je trouve pas :D

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C] Erreur que je trouve pas :D

n°1788353
boblenain2​00
Posté le 17-09-2008 à 19:14:01  profilanswer
 

:hello:  
 
Voila, moyenne ne renvoit pas du tout la moyenne :D Mais je comprend pas pourquoi ..

Code :
  1. #include <stdio.h>
  2. int main()
  3. {
  4.   int nombre,num,indent;
  5.   int min=2147483647; //Chiffre maximum supporté par le type int, c'est pas très propre mais bon..
  6.   int max=0;
  7.   float moyenne=0;
  8.   int somme=0;
  9.   printf("Combien de nombres? " );
  10.   scanf("%d", &nombre);
  11.  
  12.   for (indent=nombre;indent>0;indent--)
  13.   {
  14.     nombre--;
  15.     printf("Entrer le nombre : " );
  16.     scanf("%d", &num);
  17.     somme = somme + num;
  18.     if (min > num)
  19.     {
  20.       min = num;
  21.     }
  22.     if (max < num)
  23.     {
  24.       max = num;
  25.     }
  26.   }
  27.   //printf("Somme = %d\n", somme);
  28.   moyenne = (float)somme / (float)nombre;
  29.   printf("Minimum = %d\n", min);
  30.   printf("Maximum = %d\n", max);
  31.   printf("Moyenne = %f\n", moyenne);
  32. }


 
Merci d'avance  :jap:

mood
Publicité
Posté le 17-09-2008 à 19:14:01  profilanswer
 

n°1788356
boblenain2​00
Posté le 17-09-2008 à 19:30:12  profilanswer
 

bon j'ai un deuxieme exercice pour vous [:kbchris]
 
l'objectif est de calculer le nombre de mot dans la phrase (en calculant juste le nombre d'espace, on se tape des apostrophe ..etc..)
 
malheureusement, ben...ca marche po :d
 

Code :
  1. {
  2.   char buffer[500];
  3.   char c;
  4.   int i;
  5.   int nombreDeMots;
  6.   //On scan la chaine de caractère
  7.   /*for (i=0 , c='\0'; c!= '$' && i < 500-1 ; ++i)
  8.   {
  9.     printf("Quel est votre phrase ?\n" );
  10.     scanf("%c", &c);
  11.     buffer[i] = c;
  12.   }*/
  13.   printf("Quel est votre phrase?\n" );
  14.   scanf("%s", buffer);
  15.   //On compte les mots
  16.   for (i=0, nombreDeMots =1; buffer[i] != '$' ; i++)
  17.   {
  18.     if (buffer[i]==' ' && i > 0 && buffer[i-1] != ' ')
  19.     {
  20.       nombreDeMots++;
  21.     }
  22.   }
  23.   printf("Il y a %d mot(s) dans votre phrase\n", nombreDeMots);
  24. }


Message édité par boblenain200 le 17-09-2008 à 19:30:31
n°1788362
tpierron
Posté le 17-09-2008 à 19:50:04  profilanswer
 

Mouaif, erreurs classiques. Pour le 1, regarde ta ligne 14. Pour le 2, le format %s de scanf() s'arrête de lire au premier espace, du coup ta boucle n'en trouvera jamais.


Message édité par tpierron le 17-09-2008 à 19:51:37
n°1788375
boblenain2​00
Posté le 17-09-2008 à 20:16:31  profilanswer
 

Pour le 1 , merci :jap: (jme hais sur ce coup :o)
 
POur le 2, j'ai çà mais c'est pas très beau ..
 

Code :
  1. {
  2.   char buffer[BUFSIZ];
  3.   char c;
  4.   int i;
  5.   int nombreDeMots;
  6.   //On scan la chaine de caractère
  7.   for (i=0 , c='\0'; c!= '$' && i < BUFSIZ -  ; ++i)
  8.   {
  9.     printf("Quel est votre phrase ?\n" );
  10.     scanf("%c", &c);
  11.     buffer[i] = c;
  12.   }
  13.   //On compte les mots
  14.   for (i=0, nombreDeMots =1; buffer[i] != '$' ; i++)
  15.   {
  16.     if (buffer[i]==' ' && i > 0 && buffer[i-1] != ' ')
  17.     {
  18.       nombreDeMots++;
  19.     }
  20.   }
  21.   printf("Il y a %d mot(s) dans votre phrase\n", nombreDeMots);
  22. }

n°1788460
Trap D
Posté le 18-09-2008 à 08:15:32  profilanswer
 

Tu devrais t'intéresser à fgets, celà pourrait résoudre ton problème "esthétique"...

n°1794621
DoomAngel
Posté le 01-10-2008 à 22:24:54  profilanswer
 

fgets ou read

n°1794625
Trap D
Posté le 01-10-2008 à 23:02:00  profilanswer
 

fgets pour les fichiers textes, marche très bien avec l'entrée standart stdin.

n°1794733
boblenain2​00
Posté le 02-10-2008 à 11:04:19  profilanswer
 

Je regarderais fgets :jap:


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  [C] Erreur que je trouve pas :D

 

Sujets relatifs
erreur compilation[C#]DataGridView et MàJ
[C++] petite question sur les std::vectors[VBA] Erreur d'exécution '-2147417848 (80010108)'
[C] Allocation maximale (gcc sous cygwin)[C] sizeof et variable de structure
[Resolu][C#, ASP.net / access] problème requete updateC'est la saint florentg!
C# comparativement à Java[C/C++] controller le preprocesseur
Plus de sujets relatifs à : [C] Erreur que je trouve pas :D


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR