M1102 – TP6 – Exercice 3

A partir de cet exercice :

  1. Il va falloir « Charger » le fichier qui est argument de commande dans un vecteur ;
  2. Puis il faudra d’appliquer des fonctions que vous allez devoir écrire à une partie ou à l’intégralité du vecteur en fonction de ce que rentre l’utilisateur.

Par exemple, si l’utilisateur rentre au clavier les chaines « min tout » c’est qu’il souhaite qu’on transforme l’intégralité du vecteur en minuscule. En revanche, s’il rentre « min 14 » c’est qu’il souhaite transformer uniquement la 14ème ligne du vecteur en minuscule.

Plusieurs solutions s’offrent à vous : soit vous ne lisez que des string et si besoin vous pouvez les convertir en entier long à l’aide de la fonction stoul () (String TO Unsigned Long), soit vous faite un extraction à l’aide d’une variable correctement typée. Dans tous les cas, la saisie clavier est supposée juste.

Ecrire le corps des deux fonctions suivantes :

vector <string> & ToLower (vector <string> & VString) ;
vector <string> & ToLower (vector <string> & VString, const unsigned & LineNumber) ;

La première transforme toutes les lignes du vecteur en leur minuscule correspondante, la seconde ne s’applique à la ligne LineNumber.

Modifier le main () pour prendre en compte ses deux fonctions.

M1102 – TP6 – Exercice 4

Dans cet exercice, on souhaite transformer une string en sa majuscule.

Ecrire la fonction ToUpper () de signature :

string & ToUpper (string & Str);

Ecrire le corps des deux fonctions suivantes :

vector <string> & ToUpper (vector <string> & VString) ;
vector <string> & ToUpper (vector <string> & VString, const unsigned & LineNumber) ;

La première transforme toutes les lignes du vecteur en leur majuscule correspondante, la seconde ne s’applique à la ligne LineNumber.

Modifier le main () pour prendre en compte ses deux fonctions. L’appel de ces fonctions se fait en saisissant la chaine « maj » suivie de « tout » ou d’un numéro de ligne.