3–1 Compilez et exécutez les programmes IRMAIN.C avec IRFUNCS.C puis IRMAIN2.C avec IRFUNCS.C.
3–2 Qu'arrive-t-il si vous éliminez le prototype de "yearEndBalance" dans INTRATE7.C?
3–3 Qu'arrive-t-il si vous déplacez la définition de "notifyIfError" après le "main`dans IRMIN2.C sans fournir de prototype?
3–4 Modifiez le programme IRMAIN.C/IRFUNCS.C afin de calculer des intérêts quotidiens plultôt que mensuels.
3–5 Modifiez TESTYEAR.C de manière à ce pas avoir à stocker la valeur de retour de "yearEndBalance" dans une variable.
3–6 Modifiez IRFUNCS.C de manière à ce que "yearEndBalance" affiche ses paramètres et sa valeur de retour et que "printBalances" affiche ses paramètres.
3–7 Modifiez le programme IRMAIN.C/IRFUNCS.C afin de vérifier si la "balance" et le taux d'intérêt fournis sont des nombres entiers positifs. Écrivez une fonction pour effectuer cette vérification.
3–8 En saisissant les données nécessaires à l'exécution de IRTABLE.C, un utilisateur peut facilement provoquer une itération infinie. Modifiez le programme afin de valider les données. Veillez à afficher un message d'erreur approprié. Vous devriez écrire une fonction "validerEntree" qui effectue cette validation pour ensuite retourner un succès si les données étaient toutes valides et un échec sinon. Vous devriez également modifier "printTables" en vérifiant si la valeur de ses paramètres est acceptable ou non avant de tenter d'effectuer le traitement.
3–9 Écrivez une fonction "sumRange" qui calcule la somme des entiers entre "m" et "n" inclusivement où "m" et "n" sont passés en paramètres. Écrivez un petit "main" pour tester cette fonction adéquatement. La fonction doit bien se comporter peu importe si M > N ou M < N.
3–10

Écrivez une fonction "cylVolume" qui calcule le volume d'un cylindre à partir de sa hauteur et de son rayon. La formule pour calculer le volume d'un cylindre est: PI x rayon x rayon x hauteur.

Utilisez cette fonction dans un programme qui lit une hauteur et un rayon pour ensuite afficher le volume du cylindre ainsi défini.

3–11

Écrivez une fonction "printPowers" possédant deux paramètres, "value" et "n" et qui affiche les "n" premières puissances de "value". Exemple: si "value" vaut 1 et "n" vaut 12, la fonction affiche: 1, 2, ..., 12 et si value vaut 2 et "n" vaut 12, la fonction affiche: 2, 4, ... , 24.

Cette fonction étant écrite, servez-vous en pour afficher une table de multiplication des entiers de 1 à 12. La table devrait comporter 12 lignes et 12 colonnes (cf. 2-15)

3–12 Modifiez la fonction "printPowers" de l'exercice précédent afin qu'elle puisse également afficher les puissances négatives.
3–13

Écrivez une fonction "printStars" qui affiche "n" étoiles (*); "n" est passé en paramètre. Ainsi, l'appel "printStars(10)" devrait produire:

**********

Utilisez cette fonction pour définir une nouvelle fonction appelée "printBar" à laquelle on fournit en paramètre la largeur et la hauteur d'un rectangle plein d'étoiles. Ainsi, l'appel "printBar(5, 3)" devrait produire:

*****
*****
*****
3–14

Écrivez une fonction "printBlanks" qui affiche "n" espaces. Combinez des appels à cette fonction avec des appels à "printStars" pour définir une fonction "printBox" à laquelle on fournit en paramètres la largeur et la hauteur d'une boîte à afficher. Ainsi l'appel "printbox(5, 3)" devrait produire:

*****
* *
*****
3–15

Écrivez une fonction "printDigit" qui accepte en paramètre un nombre de 0 à 9 et une taille "n" pour afficher ce nombre à l'intérieur d'une boîte nXn. Ainsi, l'appel "printDigit(3, 7) devrait produire:

*******
*
*
*******
*
*
*******

Pour vous aider, vous devriez écrire des fonctions auxiliaires qui effectuent des tâches utiles. Exemple: tracée de lignes horizontales ou verticales d'une certaine longueur.

Modifié le: mardi, 17 juin 2014, 10:23