Aller au menu - Aller au contenu

[Plan du site] Vous êtes ici --- > Le Site du Zéro > Les forums > Programmation > Langage C++ > [Qt] Erreur avec un modulo > Lecture du sujet

[Qt] Erreur avec un modulo

Vous devez être inscrit pour pouvoir poster des messages

RésoluLe problème de ce sujet a été résolu

Page : 1 
Auteur Message
1 visiteur sur ce sujet (1 anonyme)
Page : 1 
Hors ligne gp2mv3 # Posté le 08/07/2008 à 18:28:10
TPNH : Sauvons la planète !
Avatar
Groupe : Membres
Salut,
J'ai encore un problème...
Et cette fois-ci, il concerne le modulo.
J'ai ce code :
Code : C++
1
2
3
4
5
6
int int1 = 23;
double valeur1 = 0;
double valeur2 = 0;

valeur1 = pow(int1, 7);
valeur2 = valeur1 % 12


Le problème c'est que quand je compile avec Qt, il me dit ceci :
Code : Autre
1
MaFenetre.cpp:76: error: invalid operands of types `double' and `int' to binary `operator%'


Comment faire ?
J'ai essayé pleins de possibilités et à chaque fois le message d'erreur apparait mais avec d'autres types de variables biensur.

Merci d'avance.

Gp2mv3

Image utilisateur
 
Hors ligne freecircus # Posté le 08/07/2008 à 18:35:32
"Se coucher tard nuit"
Avatar
Groupe : Membres
Cette réponse a aidé l'auteur du sujet Cette réponse a aidé l'auteur du sujet
Salut,

Ce n'est pas un problème de C++, mais de maths, sauf erreur, le modulo n'est définie que sur des nombres entiers.

Au pire :
Code : C++
1
2
3
4
5
6
int int1 = 23;
double valeur1 = 0;
double valeur2 = 0;

valeur1 = pow(int1, 7);
valeur2 = (int) valeur1 % 12


A toi de voir ce que tu veux faire ;)
ps : pourquoi [Qt] dans le titre ?
Édité le 08/07/2008 à 18:36:38 par freecircus

Image utilisateur
 
Hors ligne nono212 # Posté le 08/07/2008 à 18:39:26
Euh..."a" ?
Avatar
Groupe : Membres
Les modulos c'est pas que sur les entiers ?

Image utilisateur
 
Hors ligne izuviel # Posté le 08/07/2008 à 18:46:28
Avatar
Groupe : Membres
Je confirme pour l'avoir vécu que le modulo (l'opérateur %) ne fonctionne qu'avec les entiers, mais qu'on peut éventuellement "étendre" la définition du modulo pour s'accorder avec les float, auquel cas il existe une fonction du module math.h (c'est du C, mais il doit y avoir l'équivalent C++), qui s'appelle fmod... (et qui est surchargée pour prendre aussi des double et des long double si nécessaire).

Toute ressemblance avec le nom d'une librairie audio est purement fortuite.

Si je vous ai aidé, visitez mon site ^^
Romans amateurs fantastiques et merveilleux http://roman.servhome.org
 
Hors ligne gp2mv3 # Posté le 08/07/2008 à 18:47:40
TPNH : Sauvons la planète !
Avatar
Groupe : Membres
Merci de votre aide, j'ai suivis la méthode de freecircus.
J'ai mis Qt dans le titre parce que je pensais que ça venait du compilateur Qt...
Je suis pas très doué parfois.

Image utilisateur
 
Hors ligne minirop # Posté le 08/07/2008 à 18:51:40
吸血鬼
Avatar
Modérateurs
Citation : gp2mv3
du compilateur Qt...

Qt n'a/est pas de compilateur (à la rigueur RCC mais tu ne l'utilises pas)

pas commencés - en cours - finis - (dernier tome lu)
manga : Love Hina - Ichigo 100% - Fruits Basket - School Rumble - Death Note - Parmi Eux - One Piece (46) - Naruto (45) - Lovely Complex (10) - Fullmetal Alchimist (22) -> My Manga
IDE multiplateforme pour Qt Image utilisateur !! Qt @ IRC --> #qt-fr@irc.freenode.net
 
Hors ligne Goten # Posté le 08/07/2008 à 19:06:45
Avatar
Groupe : Membres
Citation : izuviel
Je confirme pour l'avoir vécu que le modulo (l'opérateur %) ne fonctionne qu'avec les entiers, mais qu'on peut éventuellement "étendre" la définition du modulo pour s'accorder avec les float, auquel cas il existe une fonction du module math.h (c'est du C, mais il doit y avoir l'équivalent C++), qui s'appelle fmod... (et qui est surchargée pour prendre aussi des double et des long double si nécessaire).

Toute ressemblance avec le nom d'une librairie audio est purement fortuite.



derrière l'opérateur modulo il y'a une opération mathématique de base à savoir la division euclidienne... Alors faire une division euclidienne de nombre décimaux je vois pas trop la possibilité ... puisque par définition la division euclidienne est :

a = b.q + r avec a,q,r appartenant à N et b appartenant à N* (sans les notations mathématiques c'est pas facile ^^)


Édité le 08/07/2008 à 19:07:12 par Goten
Hors ligne freecircus # Posté le 08/07/2008 à 19:19:34
"Se coucher tard nuit"
Avatar
Groupe : Membres
Citation : Goten
a = b.q + r avec a,q,r appartenant à N et b appartenant à N* (sans les notations mathématiques c'est pas facile ^^)

Faut se mettre à jour ^^

\forall (a,b)\in\mathbb{N}\times\mathbb{N}^*, \exists ! (q, r)\in\mathbb{N}\times\mathbb{N}, a=b.q+r \quad et \quad r < b (pompé sur wikipédia)

Image utilisateur
 
Hors ligne Goten # Posté le 08/07/2008 à 19:20:42
Avatar
Groupe : Membres
Mis à part les notations mathématiques tu viens de dire strictement la même chose que moi... donc je vois pas en quoi faudrait que je me mette à jour ;)
Hors ligne freecircus # Posté le 08/07/2008 à 19:25:17
"Se coucher tard nuit"
Avatar
Groupe : Membres
Non non je ne parlais pas du raisonnement mais du fait qu'on peut utiliser les notations mathématiques sur le forum. J'aurais du faire une emphase désolé ;)

Image utilisateur
 
Hors ligne Goten # Posté le 08/07/2008 à 19:35:08
Avatar
Groupe : Membres
Oki c'est moi qui est mal compris !

Par contre pour utiliser les symboles je vois que copier une image comme tu la fais :p
Hors ligne freecircus # Posté le 08/07/2008 à 19:46:50
"Se coucher tard nuit"
Avatar
Groupe : Membres
L'image est générée à partir de la source \TeX ;)
le "zCode":
Code : Zcode
1
<math>\forall (a,b)\in\mathbb{N}\times\mathbb{N}^*, \exists ! (q, r)\in\mathbb{N}\times\mathbb{N}, a=b.q+r \quad et \quad r < b</math>
Édité le 08/07/2008 à 19:47:59 par freecircus

Image utilisateur
 

Retour au forum "Langage C++" ou à la liste des forums

Vous devez être inscrit pour pouvoir poster des messages

Changer de design | En savoir plus | Plan du site | Politique d'accessibilité | Règles | RSS tutoriels | RSS news
Édité par Simple IT SARL : Nous contacter | Notre blog | Revue de presse | Publicité

Y'a plus rien à lire, faut remonter maintenant !

Hébergement web - Correction de tutoriels - Créer un site
Vous souhaitez apparaître ici ? Contactez-nous.

Nombre de connectés 209 Zéros connectés | Requêtes SQL 7 requêtes | Temps de génération de la page : Total (SQL) 0.0725s (0.0544s)