// Fichier string.cpp (un exemple de string) #include #include #include #include using namespace std; // pour consulter l'écran d'exécution void continuer() { char reponse ; cout << "\nAppuyez sur une lettre suivie de Entree " ; cin >> reponse ; } // compter le nombre de voyelles dans une chaîne int nb1Voy(string ch) { string voyelles = "AaEeIiOoUuYy"; int n = 0; for(int i = 0, nbCars = ch.length(); i < nbCars ; i++) if ( voyelles.find(ch[i]) >= 0 && voyelles.find(ch[i]) < nbCars) n++; return n; } // une autre manière de compter le nombre de voyelles int nb2Voy(string ch) { int n = 0; for(int i = 0, nbCars = ch.length(); i < nbCars ; i++) switch(toupper(ch[i])) { case 'A' : case 'E' : case 'I' : case 'O' : case 'U' : case 'Y' : n++; } return n; } void demo1(string ch) { cout << "Premiere demonstration :\n"; cout << "La chaine ch : " << ch << " dispose de " << ch.length() << " caractere(s)\n"; cout << "ch.find('o') vaut " << ch.find('o') << endl ; cout << "ch.find('o',3) vaut " << ch.find('o',3) << endl ; cout << "ch.find('z') vaut " << ch.find('z') << endl ; cout << "ch.find(\"on\") vaut " << ch.find("on") << endl ; cout << "ch.find(\"on\",5) vaut " << ch.find("on",5) << endl ; cout << "ch.find(\"jour\") vaut " << ch.find("jour") << endl ; } void demo2() { cout << "\n\nDeuxieme demonstration :\n"; string ch = "Comment allez-vous ?"; cout << "Nombre de voyelles dans " << ch << " " << nb1Voy(ch) << endl; cout << "Nombre de voyelles dans " << ch << " " << nb2Voy(ch) << endl; } void demo3() { const int ANNEE_COURANTE = 2014 ; cout << "\n\nTroiseme demonstration :\n"; string codePerm = "CHAN28579403"; // Charbonneau Nicole née le 28 juillet 1994 string sexe = codePerm[6] >= '5' ? "feminin" : "masculin" ; cout << "Sexe : " << sexe << endl; // atoi : alphabetic to integer int mois = atoi(codePerm.substr(6,2).c_str()) % 50 ; cout << "rang du mois : " << mois << endl ; string nomMois[] = {"janvier", "fevrier", "mars", "avril", "mai", "juin", "juillet", "aout", "septembre", "octobre", "novembre", "decembre" }; cout << "Mois de naissance : " << nomMois[mois-1] << endl ; int anneeNaiss = atoi(codePerm.substr(8,2).c_str()) + 1900; int ageBrut = ANNEE_COURANTE - anneeNaiss; cout << "Age brut a " << ANNEE_COURANTE << " : " << ageBrut << " an(s)\n"; } int main() { demo1("Bonne soiree!"); demo2(); demo3(); continuer(); return 0; } /* Exécution : Premiere demonstration : La chaine ch : Bonne soiree! dispose de 13 caractere(s) ch.find('o') vaut 1 ch.find('o',3) vaut 7 ch.find('z') vaut 4294967295 ch.find("on") vaut 1 ch.find("on",5) vaut 4294967295 ch.find("jour") vaut 4294967295 Deuxieme demonstration : Nombre de voyelles dans Comment allez-vous ? 6 Nombre de voyelles dans Comment allez-vous ? 6 Troiseme demonstration : Sexe : feminin rang du mois : 7 Mois de naissance : juillet Age brut a 2014 : 20 an(s) Appuyez sur une lettre suivie de Entree */