Thông tin

Hạn chót Không có hạn chót
Giới hạn nộp bài Không có giới hạn

Tags

Đăng nhập

[5.3] Somme des lettres des prénoms

Le programme suivant demande à l'utilisateur d'entrer un prénom, lettre par lettre, et de finir l'encodage par un caractère qui n'est pas une lettre. Il affiche la somme de la valeur numérique des lettres (a=0, b=1 et ainsi de suite).

Modifiez ce programme pour que l'utilisateur puisse entrer deux prénoms et que ça affiche la compatibilité entre ces prénoms. La compatibilité entre deux prénom est la valeur absolue de la différence entre la somme des valeurs de leurs lettres. Et tant que cette valeur est plus grande ou égale à 10, il faut faire la somme des chiffres de cette valeur.

Pour vous aider, une bibliothèque compatibilite.h est fournie avec les fonctions suivantes :

// PRE: 0 <= nb <= 25
// POST: renvoie la lettre de l'alphabet qui correspond au nombre entré (0->a, 1->b, ...)
char vers_lettre(int nb);

// PRE: c est une lettre minuscule entre 'a' et 'z'.
// POST: renvoie le nombre correspondant à cette lettre (a->0, b->1,...)
int vers_nombre(char c);

// PRE: /
// POST: renvoie la valeur absolue de n
int abs(int n);

// PRE: /
// POST: renvoie la somme des chiffres de nb
int somme_chiffres(int nb);

Exemple

Par exemple pour "pierre" et "marie", la somme des valeurs des lettres vaut respectivement 65 et 41. La valeur absolue de la différence entre les deux vaut 24 mais puisque 24 est plus grand que 10, on calcule la somme de ses chiffres: 6. Le programme devrait donc afficher :

Prénom 1:
p
i
e
r
r
e
/
Prénom 2:
m
a
r
i
e
/
La compatibilité est de 6.

Évaluation

Votre code va être compilé puis testé avec plusieurs valeurs d'entrées différentes pour vérifier qu'il fonctionne bien.

Cependant, prenez déjà l'habitude de tester votre code vous-mêmes car il n'y aura pas INGInious pour le vérifier automatiquement dans l'exercice récapitulatif.

Veuillez aussi suivre les bonnes pratiques suivantes car INGInious ne sait pas les vérifier automatiquement mais elles seront vérifiées dans l'exercice récapitulatif :

  • Les noms des variables et constantes créés sont-ils pertinents ? Correspondent-ils vraiment à ce que ces variables doivent contenir ?
  • Est-ce que le code est correctement factorisé ? Est-ce qu'il est possible de déplacer du code en dehors des sélections pour avoir moins de code dupliqué ?
  • Est-ce que les sélections et conditions sont correctement organisées ? Est-ce qu'il est possible de changer l'ordre des sélections ou des conditions pour diminuer leur nombre ?

Le code