char

char - C++ - Programmation

Marsh Posté le 22-01-2003 à 17:12:21    

Salut
j'ai une question comment savoir d'apres si une selection est bien un caractère ?
 
voici mon code , je teste si une caractère est bien une voyelle
 

Code :
  1. #include <stdio.h>
  2. #include <iostream.h>
  3. int main(void)
  4. {
  5.   int char lettre;
  6.   while ( lettre =!  )   // comment faire pour savoir si la selection est bien une lettre ?
  7.   {
  8.   cout<<" entrez une lettre";
  9.   cin >> lettre ;
  10.   } ;
  11.   // on fait une interation dans le tableau voyelle
  12.   if (voyelle(lettre)= true)
  13.   {
  14.   cout<<" la lettre est une voyelle" ;
  15.   }
  16.   else
  17.   {
  18.   cout<<"la lettre est une consonne";
  19.   }
  20.   return 0;
  21. }
  22. bool voyelle(char voy)   // création de la fonction de tybe booléenne
  23. {
  24. bool v;
  25. char *  tabvoy[];
  26. // on incrémente le tableau de voyelle
  27. tabvoy[] = {'a','e','i','o','u','y','A','E','I','U','Y',0}
  28. // on teste si v est bien une consone avec une boucle
  29.   for (int i=o, tabvoy[i]!= 0, i++) // on sait que un tableau de caractère se ternime par un caractère nul
  30.   {
  31.     if ( voy != tabvoy[i])    // on cherche si la variable voy est différent des valeurs du tableau
  32.       {
  33.       v= false  // si ou la v est egal a v
  34.       }
  35.   }
  36. return v; // retourne la valeur  de v
  37. }


---------------
http://www.independza.com
Reply

Marsh Posté le 22-01-2003 à 17:12:21   

Reply

Marsh Posté le 22-01-2003 à 18:00:35    

perso, j'ai rien compris...

Reply

Marsh Posté le 22-01-2003 à 18:06:36    

teste si le caractère est .... un caractère ! :d
 

Code :
  1. while ((lettre >= 'A' && lettre <= 'Z') || (lettre >= 'a' && lettre <= 'z'))
  2. {
  3. ...
  4. }


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 22-01-2003 à 18:11:09    

je voulais au départ faire un autre tableau avec les consonnes.

Code :
  1. tabcons=[a,b,c...z,A,B...,Z]


puis faire une itération dans ce tableau mais je trouvais cela un peu lourd.
alors c'est la seule solution tester a la main toutes les lettres de l'alphabet.


---------------
http://www.independza.com
Reply

Marsh Posté le 22-01-2003 à 18:34:12    

Je comprend tjrs pas ce qu'il veut faire


---------------
Le Tyran
Reply

Marsh Posté le 22-01-2003 à 18:38:17    

LetoII a écrit :

Je comprend tjrs pas ce qu'il veut faire

+1
j'ai pourtant rempli son code, mais il a pas l'air d'avoir vu... :sarcastic:


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 22-01-2003 à 18:42:21    

Hey y a plus simple, tu fais un tableau de 255 bool. Chaque case indique si le caractère correspondant est une voyelle ou pas et tu remplie le tableau grace à de l'unrolling template.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 :D J'déconne :lol:


---------------
Le Tyran
Reply

Marsh Posté le 22-01-2003 à 18:48:22    

voir avec une macro pre-processer deux fois ...

Reply

Marsh Posté le 22-01-2003 à 19:23:00    

j'ai trouve cette fct
int isalpha( int c );


---------------
http://www.independza.com
Reply

Marsh Posté le 22-01-2003 à 20:05:47    

ta fct voyelle ne doit pas donner le résultat que tu veux...
elle te renvoie toujours false
 

Code :
  1. bool voyelle(char voy)
  2. {
  3. bool v = false;
  4. char *  tabvoy[];
  5. tabvoy[] = {'a','e','i','o','u','y','A','E','I','O','U','Y'}
  6. for (int i=o, tabvoy[i] < 12, i++)
  7.    if ( voy == tabvoy[i])
  8.      v = true;   
  9.  
  10. return v;
  11. }
  12. }

Reply

Marsh Posté le 22-01-2003 à 20:05:47   

Reply

Marsh Posté le 23-01-2003 à 00:38:24    

LetoII a écrit :

Hey y a plus simple, tu fais un tableau de 255 bool. Chaque case indique si le caractère correspondant est une voyelle ou pas et tu remplie le tableau grace à de l'unrolling template.
 
 
 
 :D J'déconne :lol:


 
 
après il affiche le résultat avec un effet de feu en VGA :D
 
 

Reply

Marsh Posté le 23-01-2003 à 12:44:32    

voila la programe il fonctionne

Code :
  1. #include <stdio.h>
  2. #include <iostream>
  3. #include <ctype.h>
  4. #include <string>
  5. bool voyelle(char voy) ; // prototype de la fonction
  6. int main(void)
  7. {
  8.   char lettre;
  9. while ( isalpha(lettre) == false )
  10.   {
  11.   cout<<"entrez une lettre.\n";
  12.   cin >> lettre ;
  13. }
  14.  
  15.   // on fait une interation dans le tableau voyelle
  16.   if (voyelle(lettre)==true)
  17.   {
  18.   cout<<" la lettre est une voyelle" ;
  19.   }
  20.   else
  21.   {
  22.   cout<<"la lettre est une consonne";
  23.   }
  24.     //ici changement
  25.   system("PAUSE" );
  26.   return 0;
  27. }
  28. bool voyelle(char voy)   // création de la fonction de tybe booléenne
  29. {
  30. bool v;
  31. // on incrémente le tableau de voyelle
  32. char tabvoy[] = {'a','e','i','o','u','y','A','E','I','U','Y',0};
  33. // on teste si v est bien une consone avec une boucle
  34. v=false;
  35. int i = 0;
  36.     while ( tabvoy[i]!= 0 )
  37.    {
  38.       if ( voy == tabvoy[i])    // on cherche si la variable voy est différent des valeurs du tableau
  39.       {
  40.       v=true// si ou la v est egal a v
  41.       break ;
  42.       }
  43.       else
  44.       i++;
  45.       {
  46.       v=false;
  47.       }
  48.   }
  49. return v; // retourne la valeur  de v
  50. }


---------------
http://www.independza.com
Reply

Marsh Posté le 23-01-2003 à 13:23:41    

Code :
  1. char lettre;
  2. do
  3. {
  4.   std::cout << "entrez une lettre: ";
  5. }
  6. while(cin >> lettre && !std::isalpha(lettre));


 
est bien meilleur

Reply

Marsh Posté le 24-01-2003 à 09:08:32    

J'ai l'impression d'avoir vu ça récemment... :p
http://www.developpez.net/forums/viewtopic.php?t=53639


---------------
Bricocheap: Montage de ventilo sur paté de mastic silicone
Reply

Sujets relatifs:

Leave a Replay

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