Exercice langage C corrigé les chaines de caractères en fonctions, tutoriel & guide de travaux pratiques en pdf.
Exercice 1
Ecrire la fonction LONG_CH qui retourne la longueur d’une chaîne de caractères CH comme résultat. Implémentez LONG_CH sans utiliser de variable d’aide numérique.
Ecrire la fonction MAJ_CH qui convertit toutes les lettres d’une chaîne en majuscules, sans utiliser de variable d’aide.
Ecrire la fonction AJOUTE_CH à deux paramètres CH1 et CH2 qui copie la chaîne de caractères CH2 à la fin de la chaîne CH1 sans utiliser de variable d’aide.
Ecrire la fonction INVERSER_CH qui inverse l’ordre des caractères d’une chaîne CH. Utiliser la fonction LONG_CH (définie plus haut) et définir une fonction d’aide PERMUTER_CH qui échange les valeurs de deux variables du type char.
Ecrire la fonction NMOTS_CH qui retourne comme résultat le nombre de mots contenus dans une chaîne de caractères CH. Utiliser une variable logique, la fonction isspace et une variable d’aide N.
Ecrire la fonction MOT_CH qui retourne un pointeur sur le N-ième mot d’une chaîne CH s’il existe, sinon un pointeur sur le symbole de fin de chaîne.
Ecrire la fonction EGAL_N_CH qui retourne la valeur 1 si les N premiers caractères de CH1 et CH2 sont égaux, sinon la valeur 0. (Si N est plus grand que la longueur de CH1 ou de CH2, le résultat peut être 1 ou 0).
Utiliser la fonction EGAL_N_CH et LONG_CH pour écrire la fonction CHERCHE_CH qui retourne un pointeur sur la première apparition de CH1 dans CH2, sinon un pointeur sur le symbole de fin de chaîne.
Ecrire la fonction CH_ENTIER qui retourne la valeur numérique d’une chaîne de caractères représentant un entier (positif ou négatif) du type long. Si la chaîne ne représente pas une valeur entière correcte, la fonction arrête la conversion et fournit la valeur qu’elle a su reconnaître jusqu’à ce point.
Ecrire la fonction CH_DOUBLE qui retourne la valeur numérique d’une chaîne de caractères représentant un réel en notation décimale. Si la chaîne ne représente pas une valeur décimale correcte, la fonction arrête la conversion et fournit la valeur qu’elle a su reconnaître jusqu’à ce point. (Méthode: voir exercice 8.18.)
Ecrire la fonction ENTIER_CH qui construit une chaîne de caractères CH qui représente un nombre entier N du type long. N et CH sont les paramètres de la fonction ENTIER_CH. Utiliser la fonction INVERSER_CH définie plus haut.
Ecrire la fonction DOUBLE_CH qui construit une chaîne de caractères CH qui représente un nombre réel N avec 4 positions derrière la virgule. N et CH sont les paramètres de la fonction DOUBLE_CH.
Idée pour la conversion : Multiplier N par 104 et utiliser ENTIER_CH.
Représenter schématiquement la hiérarchie des appels des fonctions utilisées.
La correction exercice langage C (voir page 2 en bas)