Creative Commons License

Année: 2018-2019

Travaux pratiques 3

Objectifs

Exercice 3.1

En réutilisant le code de l’operators2.c (TP2), écrivez un programme en créant deux fichiers operator.h et operator.c. Dans operator.h, déclarez les fonctions suivantes : somme, différence, produit, quotient, modulo, 'et', ou et négation qui utilisent deux variables num1 (entier), num2 (entier). Implémentez ces fonctions dans operator.c. Pour l'opérateur négation, utilisez seulement un numéro. Considérez une variable op qui contient un de ces différents opérateurs. (+, -, *, /, %, &, |, ~). Utilisez switch et réutilisez le code de votre TP2, mais cette fois, si op est égal à ‘+’, le programme doit appeler la fonction 'somme' etc. Testez votre programme avec différentes valeurs de num1, num2, op.

Exercice 3.2

Écrivez un programme en créant deux fichiers fichier.c et fichier.h. Dans fichier.h, déclarez les fonctions lire_fichier(char *nom_de_fichier) et ecrire_dans_fichier(char *nom_de_fichier, char *message). La fonction lire_fichier prend le nom du fichier et affiche son contenu à l'écran. ecrire_dans_fichier prend le nom de fichier et écrire le message saisi par l'utilisateur dans le fichier.

Exercice 3.3 ★★

En réutilisant le code de l’operator.c (voir ci-dessus), créer une commande calcule (fichier: calcule.c) qui utilise l'interface en ligne de commande. Il y a trois options pour cette commande: opérateur (+, -, *, /, %, &, |, ~), numéro un et numéro deux. Par exemple, si l'utilisateur écrit

$ calcule ‘*’ 23 40

Vous devez afficher le produit de ces deux numéros. Testez votre code.

Exercice 3.4 ★★

En réutilisant le code de l’etudiant2.c (TP2) et fichier.c, écrivez un fichier etudiant_db.c qui sauvegarde les noms, prénoms, adresses, et les notes dans un fichier etudiant.txt pour 5 étudiant(e)s (une ligne pour chaque étudiant(e)). Testez votre code. Cette fois, vous demanderez à l'utilisateur en utilisant scanf pour les détails de chaque étudiant. Par exemple, etudiant.txt

Dupont, Pierre, Boulevard du 11 novembre 1918, Villeurbanne, 20, 30
...

Exercice 3.5 ★★★

En réutilisant le code de couleurs.c, écrivez un programme couleur_compteur.c avec une fonction compte_couleur. N'oubliez pas de changer votre structure de couleurs (RGBA) pour gérer le compte. Par exemple, si l'utilisateur saisit les couleurs suivantes:

0xff 0x23 0x23 0x45
0xff 0x00 0x23 0x12
0xff 0x23 0x23 0x45
FIN

Vous devez afficher

0xff 0x23 0x23 0x45 2
0xff 0x00 0x23 0x12 1.

Remarquez bien que l'utilisateur peut saisir les couleurs sans fin jusqu'au mot 'FIN' pour dire que c'est la fin de sa liste de couleurs.

Exercice 3.6 ★★★

En réutilisant le code de chercher.c (TP2) et fichier.c, écrivez un fichier chercherfichier.c qui cherche une phrase dans un fichier, les deux sont à saisir par l'utilisateur. chercherfichier.c doit afficher toutes les lignes de fichier où les mots sont présents et également le nombre de fois qu'ils sont présents. Par exemple,

$ ./chercherfichier int fichier.c

Vous devez afficher

Ligne 10, 2 fois
Ligne 30, 1 fois

Astuce

Fichiers

operator.h, operator.c, fichier.c, fichier.h, etudiant_db.c, couleur_compteur.c, calcule.c, chercherfichier.c

Instructions