Help pour une programme en C
Utilisateur anonyme
-
fiddy Messages postés 11069 Date d'inscription Statut Contributeur Dernière intervention -
fiddy Messages postés 11069 Date d'inscription Statut Contributeur Dernière intervention -
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
A voir également:
- Help pour une programme en C
- Programme demarrage windows - Guide
- Mettre en veille un programme - Guide
- Message programmé iphone - Guide
- Programme word gratuit - Guide
- Cette action ne peut pas être réalisée car le fichier est ouvert dans un autre programme - Guide
3 réponses
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
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
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
#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