Salut !
Je doit faire une fonction qui renvoie le nombre de voyelles contenues dans une chaine de caractères passée en argument, sachant que je cherche la solution la plus simple (je suis vraiment un débutant !) et entièrement en C++.
Je me suis dit qu'il fallait décomposer la chaine de caractères en caractères que je pourrais mettre dans un tableau de caractères (ça fait beaucoup de caractères :S !), mais je voie pas comment?!
Voici ce que j'ai pu faire :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37 #include<iostream> using namespace std; int nombreVoyelles(string cc) { // J'aimerai décomposer la chaine de caractères en caractères : // char tc[] = "C'est facile !"; <--- Ici ça marche très bien, aucun problème ! char tc[1000] = cc; // Mais là, ça ne marche pas :( ! Pourtant, c'est une variable de type "string" ! int nv=0; for(int i=0; tc[i]!='\0' /* ou "i<cc.size()" */; i++ /* ou "++i" ? Quelle différence ? :p */) { if(((tc[i]=='a') || (tc[i]=='e') || (tc[i]=='i') || (tc[i]=='o') || (tc[i]=='u') || (tc[i]=='y')) || ((tc[i]=='A') || (tc[i]=='E') || (tc[i]=='I') || (tc[i]=='O') || (tc[i]=='U') || (tc[i]=='Y'))) { nv++; } } return nv; } int main() { cout<<"\n - Nombre de voyelles contenues dans une chaine de caract\212res -\n\n"; string chaine; cout<<"\n Saisissez votre chaine de caract\212re :\n "; cin>>chaine; int nbVoyelles; nbVoyelles = nombreVoyelles(chaine); cout<<"\n\n Votre chaine de caract\212res contient "<<nbVoyelles<<" voyelles !"; cout<<"\n\n\n "; system("pause"); return 0; }
Partager