Help pour une programme en C

Fermé
Utilisateur anonyme - 17 mai 2007 à 22:04
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 17 mai 2007 à 22:39
SVP j'ai besoin d'une aide . Il s'agie d'une programen C quelle est la suivante : Faites une programme en C qui effectue la lecture à partir du clavier d’un nombre entier dans l’intervalle [0,999] et l’affiche en français. Si vous pouvez m'aider je vous serais tres reconnaissante . Je vous remerciez au prealablemant . Si vous voulez vous pouvez m'envouer a mon email : viliana_gv@abv.bg

3 réponses

slatrach Messages postés 63 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 16 avril 2009 24
17 mai 2007 à 22:19
il s'agit en fait de la fonction de la bibliothèque stdio.h : SCANF
moi j'ai la réponse mais bon je prefere que vous cherchiez un peu , donc je vous conseille de voir des tutos sur printf scanf ainsi que les fonctions de la bibilioteque stdio.h

voici un lien pour scanf: http://www.web-francophone.com/stdio3.php
0
slatrach Messages postés 63 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 16 avril 2009 24
17 mai 2007 à 22:21
http://www.web-francophone.com/stdio.php
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 844
17 mai 2007 à 22:39
Salut

#include <stdio.h>

/**
* @brief cette fonction convertit en lettre un chiffre
* @param nombre, un entier
* @return le nombre ecrit en lettres
*/
char * nombreEcrit(int nombre) {
switch(chiffre) {
case 0: return "zero";
case 1: return "un";
case 2: return "deux";
case 3: return "trois";
case 4: return "quatre";
case 5: return "cinq";
case 6: return "six";
case 7: return "sept";
case 8: return "huit";
case 9: return "neuf";
case 10: return "dix";
case 11: return "onze";
case 12: return "douze";
case 13: return "treize";
case 14: return "quatorze";
case 15: return "quinze";
case 16: return "seize";
}
}

int main() {
int nombre;
int centaine;
int dizaine;
int unite;
int tmp;

printf("choix du nombre : ");
scanf("%d",&nombre);

if(nombre<0 || nombre > 999) exit(-1);

tmp=nombre;
unite=tmp%10;
tmp=(tmp-unite)/10;
dizaine=tmp%10;
tmp=(tmp-dizaine)/10;
centaine=tmp;

if(nombre<17) printf("%s\n", nombreEcrit(nombre));
else{
if(centaine==1) printf("cent ");
if(centaine>1) printf("%s cent ", nombreEcrit(centaine));
...
}

return 0;
}

Il reste plus qu'à faire une fonction pour afficher les mots "vingt", etc. Je te laisse le soin de le faire. Il est possible que le code est des fautes à la compilation puisque je l'ai fait sans compilateur.
En espérant, que cela te sert de bases.
Bonne chance
0