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 :

Programme divisant les minutes en heures et en minutes.


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2008
    Messages
    6
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2008
    Messages : 6
    Par défaut Programme divisant les minutes en heures et en minutes.
    Bonjour,
    alors voila je devais faire un programme divisant les minutes en heures et en minutes. Par exemple, si je tappe 45, le programme repond : 0 heures et 45 minutes. Si je tappe 90, il repond 1 heure et 30 minutes.
    Le voila :
    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>
     
    void decoupeMinute(long *heures, long *minutes)
    {
    *heures=*minutes/60;
    *minutes=*minutes%60;
    }
     
    int main(void)       //ligne 10
    {
        long *heures;
        long *minutes;
     
        printf("Entrez un nombre :");
        scanf("%ld", minutes);
        printf("\n");
     
        decoupeMinute(&heures, &minutes); //ligne 18
        printf("%ld heures et %ld minutes", *heures, *minutes);
        system("pause");
        return 0;
    }
    Lors de la compilation, j'ai ces erreurs :
    18 [Warning] passing arg 1 of `decoupeMinute' from incompatible pointer type
    18 [Warning] passing arg 2 of `decoupeMinute' from incompatible pointer type 10 [Warning] return type of 'main' is not `int'
    Merci d'avance pour votre aide, et bonnes fetes a tous !

  2. #2
    Membre Expert
    Avatar de Anthony.Desvernois
    Homme Profil pro
    Ingénieur sécurité & risque
    Inscrit en
    Juin 2007
    Messages
    1 489
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur sécurité & risque
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 489
    Par défaut
    Bonsoir,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     decoupeMinute(&heures, &minutes);
    heures et minutes sont déjà des pointeurs. Pas la peine de passer les adresses de tes pointeurs à ta fonction découpe minutes (ce n'est pas ce qu'elle attend).

  3. #3
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2008
    Messages
    6
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2008
    Messages : 6
    Par défaut
    Ah oui c'est vrai merci. Mais maintenant j'ai un autre probleme, la compilation se passe sans probleme. Lorsque j'execute, on me demande bien de rentrer un nombre, je le tappe et la ca plante, je recois un message d'erreur comme quoi decoupeMinute.exe a rencontré un probleme et dois fermer, je ne vois pas du tout d'ou ca peut venir :s...

  4. #4
    Membre Expert
    Avatar de Anthony.Desvernois
    Homme Profil pro
    Ingénieur sécurité & risque
    Inscrit en
    Juin 2007
    Messages
    1 489
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur sécurité & risque
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 489
    Par défaut
    Tu n'as pas alloué de place pour tes variables heures et minutes. Le plus simple serait que tu n'utilises pas de pointeur directement, mais des variables statique/de la pile (où là l'utilisation de l'opérateur de déférencement sera utile).

  5. #5
    Expert confirmé
    Avatar de diogene
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Juin 2005
    Messages
    5 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 761
    Par défaut
    La fonction decoupeMinute utilise comme argument l'adresse des variables qu'elle doit modifier. C'est correct. Encore faut-il passer à cette fonction ces adresses ce que ne fait pas le main :

    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
    int main(void)       
    {
        long  heures;    
        long  minutes;  // Ce sont les variables modifiées par la fonction.
                        // Ce ne sont pas des pointeurs, mais des entiers
        printf("Entrez un nombre :");
        scanf("%ld", &minutes);
    // ici, il a fallu mettre l'adresse où scanf doit mettre son résultat
        printf("\n");
        decoupeMinute(&heures, &minutes); 
    // maintenant, ceci est correct
        printf("%ld heures et %ld minutes", heures, minutes);
    // printf prend les variables en argument
        system("pause");
        return 0;
    }

  6. #6
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2008
    Messages
    6
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2008
    Messages : 6
    Par défaut
    Ah ok j'ai compris, ca marche maintenant !
    Merci a vous !
    Bonne soirée et bonnes fetes !

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

Discussions similaires

  1. Transformer les secondes en heures et en minutes
    Par ghir_ana dans le forum Langage
    Réponses: 7
    Dernier message: 15/12/2016, 08h34
  2. [Débutant] VB programmé toutes les heures aide
    Par RedStarz dans le forum VB.NET
    Réponses: 1
    Dernier message: 15/06/2014, 12h26
  3. Diviser les heures pour une échelle de temps
    Par Patnel dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 18/04/2013, 12h41
  4. Réponses: 3
    Dernier message: 15/04/2008, 08h27
  5. Lancer un programme toutes les 5 minutes
    Par Empty_body dans le forum Autres Logiciels
    Réponses: 1
    Dernier message: 12/07/2006, 18h24

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