IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 C Discussion :

Convertir miles par l'heure en km/h


Sujet :

C

  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2014
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2014
    Messages : 11
    Par défaut Convertir miles par l'heure en km/h
    Bonjour,

    J'ai mon premier logiciel à faire. Je suis vraiment débutant, alors soyez patients.

    Je dois écrire un programme en langage C permettant de saisir un entier représentant la vitesse d'un service en nombre de miles par l'heure d'un tournoi de tennis, puis convertir cette vitesse en km/h sachant que 1 mile = 1.609344 km. On demande d'afficher cette vitesse dans le deux système.

    Je ne vous demande pas d'écrire le programme, mais de m'aider à comprendre pour le faire.

    Merci à l'avance.

    Cleber

  2. #2
    Expert confirmé
    Avatar de gerald3d
    Homme Profil pro
    Conducteur de train
    Inscrit en
    Février 2008
    Messages
    2 309
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Conducteur de train
    Secteur : Transports

    Informations forums :
    Inscription : Février 2008
    Messages : 2 309
    Billets dans le blog
    5
    Par défaut
    Première à faire : définir les types des variables nécessaires. Les km/h peuvent-elles prendre des valeurs avec une virgule, idem pour les miles. Y-a-til une limite des vitesses mesurables ?

    La réponse à toutes ces questions permettra une bonne maîtrise du code à venir.

  3. #3
    Inactif  


    Homme Profil pro
    Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Inscrit en
    Décembre 2011
    Messages
    9 026
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2011
    Messages : 9 026
    Par défaut
    Bonjour,

    La première chose est d'écrire l'algorithme et de comprendre ce qu'on te demande :

    1) Saisir une donnée
    2) Convertir la donnée
    3) Afficher les résultats

    Ensuite, il faut réfléchir à ce qui est "entre les lignes" :
    -> On va peut être demander à l'utilisateur de saisir la donnée ;
    -> Que faire si la valeur saisie est incorrecte ? Rien ? Redemander ? Quitter ? etc.
    -> Que faire une fois les résultats affichés ? Redemander de saisir une nouvelle donnée ? Quitter ? etc.

    Tu peux ainsi commencer à écrire un pseudo-code.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    // dire "bonjour"
    // lire une donnée
    // dire "Au revoir"
    Une fois le pseudo-algorithme écrit, il te suffira d'écrire ton code et de laisser en commentaire ce que tu ne sais pas faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    int main(void)
    {
           printf("Bonjour");
           // lire une donnée
           printf("Au revoir");
           return EXIT_SUCCESS;
    }

  4. #4
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2014
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2014
    Messages : 11
    Par défaut
    Salut Gerald,

    Oui, on peut utiliser de virgule et il n'y a pas de limite pour la vitesse.

    Merci.

  5. #5
    Expert confirmé
    Avatar de gerald3d
    Homme Profil pro
    Conducteur de train
    Inscrit en
    Février 2008
    Messages
    2 309
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Conducteur de train
    Secteur : Transports

    Informations forums :
    Inscription : Février 2008
    Messages : 2 309
    Billets dans le blog
    5
    Par défaut
    À partir de là, d'après toi, quel type de variable devrais-tu utiliser ?

  6. #6
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2014
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2014
    Messages : 11
    Par défaut
    À mon avis, nbMile, nbKm...?

    Et la cosntante: 1 mile = 1.609344 km.

    Mais, c'est Tout ce que je sais.

  7. #7
    Inactif  


    Homme Profil pro
    Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Inscrit en
    Décembre 2011
    Messages
    9 026
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2011
    Messages : 9 026
    Par défaut
    Il parle de type et non de nom.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    int foo;
    Type nomVariable;
    Ici le type est int.

  8. #8
    Expert confirmé
    Avatar de gerald3d
    Homme Profil pro
    Conducteur de train
    Inscrit en
    Février 2008
    Messages
    2 309
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Conducteur de train
    Secteur : Transports

    Informations forums :
    Inscription : Février 2008
    Messages : 2 309
    Billets dans le blog
    5
    Par défaut
    Là tu m'as donné des noms de variable. Mais de quel type doivent-elle être ?

  9. #9
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2014
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2014
    Messages : 11
    Par défaut
    Citation Envoyé par Neckara Voir le message
    Il parle de type et non de nom.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    int foo;
    Type nomVariable;
    Ici le type est int.

    Citation Envoyé par gerald3d Voir le message
    Là tu m'as donné des noms de variable. Mais de quel type doivent-elle être ?
    Ah! Int et float. C'est bien?

    Merci.

  10. #10
    Expert confirmé
    Avatar de gerald3d
    Homme Profil pro
    Conducteur de train
    Inscrit en
    Février 2008
    Messages
    2 309
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Conducteur de train
    Secteur : Transports

    Informations forums :
    Inscription : Février 2008
    Messages : 2 309
    Billets dans le blog
    5
    Par défaut
    Tu nous a expliqué que les vitesses pouvaient être des nombres décimaux. Comment faire avec une variable int ?

  11. #11
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2014
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2014
    Messages : 11
    Par défaut
    Désolé! Nom, les km/h et les miles ne peuvent pas prendre des valeurs avec une virgule. Mais les résultats oui.

  12. #12
    Expert confirmé
    Avatar de gerald3d
    Homme Profil pro
    Conducteur de train
    Inscrit en
    Février 2008
    Messages
    2 309
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Conducteur de train
    Secteur : Transports

    Informations forums :
    Inscription : Février 2008
    Messages : 2 309
    Billets dans le blog
    5
    Par défaut
    Voila, ca commence à se préciser. Donc il y aura une variable pour le résultat qui pourra contenir des décimaux et deux variables pour contenir les vitesses en miles et km/h.

    Pourrais-tu à partir de là nous écrire un début de programme avec la déclarations de ces variables ?

  13. #13
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2014
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2014
    Messages : 11
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    #include <stdio.h>
     
    int main()
    {
        /* 1 mile = 1.609344 km */
        const float MILE_EN_KILOMETRE_PAR_HEURE = 1.609344; 
     
        int nbMile; /* nombre de mile dans une vitesse */
     
        float vitese; /* la vitesse en kilometre par heure */
        char reponse; /* Oui ou Non si l'usager veut continuer */
     
        do
        {
            /* Saisie de données tapées au clavier */
               printf("Tapez la vitesse en nombre de mile par heure ");
               scanf("%d", &nbMile);
     
            /* Conversion en kilomètre */
               vitesse = (nbMile / 1.609344) * MILE_EN_KILOMETRE_PAR_HEURE;
        }
    }
    Je ne sais pas, vraiment.

  14. #14
    Expert confirmé
    Avatar de gerald3d
    Homme Profil pro
    Conducteur de train
    Inscrit en
    Février 2008
    Messages
    2 309
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Conducteur de train
    Secteur : Transports

    Informations forums :
    Inscription : Février 2008
    Messages : 2 309
    Billets dans le blog
    5
    Par défaut
    Tout d'abord vérifie bien la syntaxe de tes variables. La variable vitesse par exemple.

    Ensuite tu effectues un calcul. Utilise la fonction printf(); pour voir si ca correspond à tes attentes.

  15. #15
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2014
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2014
    Messages : 11
    Par défaut
    J'ai corrigé l'erreur de syntaxe. Il me reste seulement résoudre le calcul

    Je vais réussir avec ton aide. Merci

  16. #16
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2014
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2014
    Messages : 11
    Par défaut
    Citation Envoyé par cbmont Voir le message
    J'ai corrigé l'erreur de syntaxe. Il me reste seulement résoudre le calcul

    Je vais réussir avec ton aide. Merci
    Merci Gerald3d et Neckara, j'imagine que j'ai réussi:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    #include <stdio.h>
     
    int main()
    {
        /* 1 mile = 1.609344 km */
        const float MILE_EN_KM_PAR_HEURE = 1.609344; 
     
        int nbMph; /* nombre de mile par l'heure */
     
        float vitesse; /* la vitesse en kilometre par l'heure */
        char reponse; /* Oui ou Non si l'usager veut continuer */
     
        do
        {
            /* Saisie de données tapées au clavier */
               printf(" Tapez la vitesse en nombre de mile par l'heure ");
               scanf("%d", &nbMph);
     
            /* Conversion en kilometre */
               vitesse = nbMph * MILE_EN_KM_PAR_HEURE ;
     
            /* Affichage de ces informations */
               printf(" systeme imperial : %d mile(s)par l'heure\n", nbMph);
               printf(" systeme metrique : %f km/h\n", vitesse);
     
               printf("Voulez-vous continuer ? (o/n) ");
               scanf(" %c", &reponse);
     
        } while (reponse == 'o' || reponse == 'O');
     
        system("pause"); /* pour consulter l'écran d'exécution */
        return 0;

  17. #17
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 833
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 833
    Billets dans le blog
    1
    Par défaut
    Bonjour
    Maintenant que tu as réussi, 2 remarques à prendre en compte
    1. les noms de variables sont écrits en minuscules (avec éventuellement quelques majuscules pour faire ressortir des éléments => exemple float kmParMile)
    2. tu peux éviter ta variable "vitesse" (utilisée qu'une fois) en inscrivant directement dans printf() le résultat du calcul
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  18. #18
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2014
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2014
    Messages : 11
    Par défaut
    Merci pour les suggestions Sve@r.

    J'aimerais aussi remercier à tous, vous étiez patients et compréhensibles avec moi. Savoir comprendre un débutant est très important, car vous avez le pouvoir d'encourager et motiver. Merci!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Calcul heure UCT par rapport à heure locale
    Par bobic dans le forum Oracle
    Réponses: 1
    Dernier message: 11/05/2006, 22h45
  2. Convertir un nombre d'heure format HH:MM
    Par jerome_sinclair dans le forum Langage SQL
    Réponses: 4
    Dernier message: 12/11/2005, 21h51
  3. convertir un integer en heure
    Par jmjmjm dans le forum Langage
    Réponses: 6
    Dernier message: 07/11/2005, 17h48
  4. [Fonction Oracle] Convertir des secondes en heure
    Par falcon dans le forum Oracle
    Réponses: 12
    Dernier message: 18/11/2004, 11h56
  5. [Fonction SQL Server] Convertir des secondes en heure
    Par falcon dans le forum MS SQL Server
    Réponses: 8
    Dernier message: 17/11/2004, 17h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo