Solutionnaire
Tout en expliquant votre réponse, quel sera l'affichage en sortie après l'exécution des instructions suivantes:
char Phrase[25];
cin >> Phrase;
cout << Phrase;
[Réponse]: Examen
Le "cin" renvoie la chaîne en entrée à la variable "Phrase". Cette dernière va recevoir que la première chaîne, puisque la
lecture va s'arrêter après le premier espace blanc se trouvant après la chaîne saisie.
Q4: Soit le programme suivant, qui compile et s'exécute correctement
1169demo06exo4.cpp.
Indiquez ce que va contenir le fichier "sortie.txt" après exécution du programme précédent, pour le fichier d'entrée
suivant:
1169demo06exo4e.txt.
[Réponse]: Ce programme sert à garder qu'un SEUL espace blanc entre les mots.
- if (ch == ' ' && !flag): si le caractère lu est un espace blanc ET la variable flag (un drapeau) est false,
alors, on affichera le caractère lu dans le fichier de sortie. On mettra flag à true pour que cette condition
ne soit plus vraie. Si c'est le cas, alors l'espace blanc ne sera pas affiche sous cette condition.
Qu'en est-il de la seconde condition?
- else if (ch != ' '): si le caractère lu n'est pas un espace, on va écrire ce caractère dans le fichier de sortie,
on mettra flag à false, pour permettre la saisie de l'espace qui se trouverait après ce caractère.
Q5: Le but de cet exercice est d'écrire la fonction Encodage. Cette fonction
accepte deux arguments du type string. Le premier est le nom du fichier en entrée et le seconde le nom du fichier en sortie.
Le fichier en entrée se trouve donc sur disque et contient une série de lignes chacune d'elle contenant deux champs.
Le premier champ est une chaîne de caractères ne contenant aucun espace blanc, alors que le deuxième champ est
représenté par un seul caractère. Voici un exemple du format de ce fichier d'entrée:
1169demo06exo5e.txt.
[Solutionnaire](1169demo06exo5sol.cpp).
La fonction Encodage réalise les opérations suivantes:
- Ouvre le fichier fourni en entrée.
- Ouvre le fichier fourni en sortie.
- Lit chacune des lignes du fichier d'entrée.
- Pour chaque ligne elle effectue l'opération ou exclusif entre chaque caractère du premier
champ avec le caractère du second champ. Le ou exclusif est représenté par l'opérateur ^.
- Elle écrit uniquement le résultat de cette opération (le codage donc du premier champ) dans le fichier de sortie.
La fonction Encodage retourne un des 3 statuts suivants:
enum StatutEncodage { ErrOuvFicIn, ErrOuvFicOut, EncodageOK };
La fonction retourne donc ErrOuvFicIn si le fichier spécifié en entrée ne peut-être ouvert, ErrOuvFicOut si
le fichier spécifié en sortie ne peut-être ouvert et finalement EncodageOk si elle a réussi l'opération d'encodage
des données fournies dans le fichier d'entrée. La déclaration de l'énumérateur StatutEncodage se trouve dans
e fichier encode.h
Q6: Écrire un programme qui permet de réaliser les 3 questions ci-dessous.
[Solutionnaire](1169demo06exo6sol.h).
[Solutionnaire](1169demo06exo6sol.cpp).
[Solutionnaire](1169demo06exo6esol.txt).
- Ouvrir un nouveau fichier, essai.txt.
- Y écrire le texte suivant:
Nous allons rechercher le mot clé qui permet d'enclencher un virus lors de l'ouverture de ce fichier. Ce mot clé est : tempête .
Si ce mot clé est détecté par le système, alors dites un au revoir à vos données sur disque.
- Recherchez le mot clé "tempête" et remplacez le par la chaîne: "fausse alerte!"
Q7: Le fichier suivant
1169demo06exo7e.txt. contient les notes d'un étudiant.
La ligne compte 5 informations : le nom et le prénom de l'étudiant (max. 20 caractères), sa note au quiz 1 sur 20 (pondération 25%),
sa note au quiz 2 sur 20 (pondération 25%) et sa note à l'examen final sur 20 (pondération 50%).
[Solutionnaire](1169demo06exo7sol.cpp).
Écrire un programme qui demande à l'usager le nom du fichier de résultat et qui écrira dans celui-ci le nom de l'étudiant
suivi de sa moyenne sur 20.
Le fichier de résultat qui doit être fourni par l'usager aura la forme suivante :
1169demo06exo7s.txt.
|
[top]
|