compteur caractères et le char '.'

compteur caractères et le char '.' - C - Programmation

Marsh Posté le 20-04-2009 à 20:50:58    

Bonsoir,
Le programme que j'essaie de coder, compte combien d'occurence de voyelles l'utilisateur entre, ainsi que quelle voyelle, et s'arrête dès l'entrée du caractère '.', or je n'ai pas réussi, voila le code :  

Code :
  1. #include <stdio.h>
  2. int main(void)
  3. {
  4. int i=0,na=0,no=0,nu=0,ni=0,ne=0;   
  5. char c;
  6.    while (i <= 20 && c != '.')
  7.     {
  8.         printf("Veuillez taper un caractere :\n" );
  9.         scanf("%c", &c);
  10.         if (c = 'a')
  11.                { na++;}
  12.         if (c = 'o')
  13.                 { no++;}
  14.         if (c = 'u')
  15.                 {nu++;}
  16.         if (c = 'i')
  17.                 {ni++;}
  18.         if (c = 'e')
  19.                 {ne++;}
  20.        
  21.     i++;   
  22.     }
  23.     printf ("a = %dfois, o = %dfois, u = %dfois, i = %dfois, e = %dfois",na,no,nu,ni,ne);
  24.     return 0;
  25. }


 
Merci d'avance,

Reply

Marsh Posté le 20-04-2009 à 20:50:58   

Reply

Marsh Posté le 20-04-2009 à 21:06:25    

La comparaison en C se fait avec l'opérateur ==. le = simple correspond à l'affectation.

Reply

Marsh Posté le 20-04-2009 à 21:22:14    

Merci beaucoup, j'ai fait cette erreur maintes fois et je ne veux toujours pas apprendre :(
sûrement parceque je suis habitué à d'autres langages utilisant le = seul pour comparer.


Message édité par Nethacker le 20-04-2009 à 21:22:52
Reply

Marsh Posté le 20-04-2009 à 21:28:56    

Autre problème le entrez un caractère est écrite deux fois ?
 
taha@taha-desktop:~/coding/c/school$ ./charcheck  
Veuillez taper un caractere :
h
Veuillez taper un caractere :
Veuillez taper un caractere :
e
Veuillez taper un caractere :
Veuillez taper un caractere :
l
Veuillez taper un caractere :
Veuillez taper un caractere :
l
Veuillez taper un caractere :
Veuillez taper un caractere :
y
Veuillez taper un caractere :
Veuillez taper un caractere :
e
Veuillez taper un caractere :
Veuillez taper un caractere :
a
Veuillez taper un caractere :
Veuillez taper un caractere :
h
Veuillez taper un caractere :
Veuillez taper un caractere :
.
a = 1fois
 o = 0fois
 u = 0fois
 i = 0fois
 e = 2fois  
taha@taha-desktop:~/coding/c/school$  

Reply

Marsh Posté le 20-04-2009 à 21:33:52    

essaye avec
 
char c, n[ 2 ];
scanf( "%c[\n]", &c, n );
 
scanf est une fonction souvent enseignée au débutant alors qu'elle est très complexe.

Reply

Marsh Posté le 20-04-2009 à 22:03:34    

vous pouvez un peu commenter ?

Reply

Marsh Posté le 20-04-2009 à 22:58:20    

man scanf

Reply

Marsh Posté le 21-04-2009 à 09:29:01    

Nethacker a écrit :

vous pouvez un peu commenter ?


http://xrenault.developpez.com/tutoriels/c/scanf/


---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed