Help pour une programme en C

viliana -  
fiddy Messages postés 441 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

3 réponses

  1. slatrach Messages postés 64 Statut Membre 24
     
    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
  2. slatrach Messages postés 64 Statut Membre 24
     
    http://www.web-francophone.com/stdio.php
    0
  3. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
     
    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