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 :

Opérateur Modulo avec float


Sujet :

C++

  1. #1
    Nouveau membre du Club Avatar de Vice555
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2014
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2014
    Messages : 19
    Points : 27
    Points
    27
    Par défaut Opérateur Modulo avec float
    Bonjour, merci de prendre le temps de lire mon soucis

    je débute en C++ et j'ai un TP à faire concernant la lecture d'une trame GPS donnée je dois divisé un attribut par 60 pour une conversion mais j'ai une erreur dans le codage d'une fonction me disant

     PosGPS_PRMa.cpp(102): E2060 Utilisation incorrecte de la virgule flottante
    voici le codage de ma fonction pouvez-vous me dire pourquoi ça ne fonctionne pas ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    bool  PosGPS_RMCa :: LireLatitude (int & prmDegre, int & prmMin, float & prmSec, char & prmNS) {
           if ( est1TrameGPSRMC == true ){
              prmDegre = latDegre ;
              prmMin = (latMin / 1) ;
              prmSec = (latMin %) * 60 ; //l'erreur est ici 
              prmNS = latNS ;
     
              return est1TrameGPSRMC ;
            }
    }

  2. #2
    Membre émérite
    Avatar de Daïmanu
    Homme Profil pro
    Développeur touche à tout
    Inscrit en
    Janvier 2011
    Messages
    696
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur touche à tout

    Informations forums :
    Inscription : Janvier 2011
    Messages : 696
    Points : 2 438
    Points
    2 438
    Par défaut
    Bonjour.

    Dans cette ligne (latMin %), tu essaie de faire un modulo sans opérande.

    C'est comme si tu disais « 5 divisé par » sans préciser le diviseur, ça ne veut rien dire.
    Je fais appel aux esprits de Ritchie, Kernighan, Stroustrup et Alexandrescu
    Donnez moi la force, donnez moi le courage de coder proprement !

    « Ça marche pas » n'est PAS une réponse convenable, merci de détailler le souci en fournissant l’environnement, le code source, les commandes et les messages d'erreur.

    Ce club possède également un clavardage, on y trouve quelques perles entre deux sessions d'entraides.

  3. #3
    Nouveau membre du Club Avatar de Vice555
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2014
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2014
    Messages : 19
    Points : 27
    Points
    27
    Par défaut
    Oui excuse moi j'ai pas fait exprès c'est divisé par 1 !
    Mais j'ai retrouver mon erreur voici le codage


    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
     
    bool  PosGPS_RMCa :: LireLatitude (int & prmDegre, int & prmMin, float & prmSec, char & prmNS) {
           if ( est1TrameGPSRMC == true ){
           //affectation de latMin a la chaine stringSeconde
              AnsiString stringSeconde = latMin ;
           //chaine contenant les degrès minutes
              stringSeconde = stringSeconde.SubString(4, 4) ;
              //Affectation des attributs aux paramètres de la fonction
              prmSec = stringSeconde.ToDouble();
              prmSec = (prmSec / 10000) * 60 ;   //conversion en seconde
     
              prmDegre = latDegre ;
              prmMin = (latMin / 1) ;
              prmNS = latNS ;
     
              return est1TrameGPSRMC ;
            }
    }

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 115
    Points : 32 967
    Points
    32 967
    Billets dans le blog
    4
    Par défaut
    Salut,

    une division par 1 ?

    Et puis ça sort d'où latMin ? C'est quoi son type ?
    Plus haut tu l'affectes à une AnsiString, ensuite tu en fais une division par 1.
    Ta fonction est fausse, et la compilation devrait au moins t'indiquer un warning puisqu'il y a des cas où aucun return n'est appelé.
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  5. #5
    Nouveau membre du Club Avatar de Vice555
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2014
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2014
    Messages : 19
    Points : 27
    Points
    27
    Par défaut
    latMin est de type int c'est le codage d'une fonction il est déclaré dans le fichier d'interface de ma classe.. et je ne divise pas stringSeconde par 1 mais latMin qui reste un entier dans mon codage je ne vois pas ou tu vois que je divise une chaine de caractère par 1

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 16/02/2010, 12h05
  2. Problème avec float.
    Par Paulinho dans le forum Débuter
    Réponses: 1
    Dernier message: 29/11/2005, 10h27
  3. [CSS] Utilisation de deux div avec float
    Par Ditch dans le forum Mise en page CSS
    Réponses: 5
    Dernier message: 06/10/2005, 15h48
  4. pb positionnement avec float
    Par jerome38000 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 17/08/2005, 19h40
  5. [Opérateur] problème avec 'ou' (||)
    Par clairette dans le forum Langage
    Réponses: 7
    Dernier message: 04/07/2005, 12h33

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