C++ calc.nombre décimal et console se ferme
Résolu
mat08
Messages postés
322
Date d'inscription
Statut
Membre
Dernière intervention
-
fiddy Messages postés 11069 Date d'inscription Statut Contributeur Dernière intervention -
fiddy Messages postés 11069 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour, je suis en train de faire un petit petit programme en C++ avec CodeBlocks, jusque là tout va bien, mais quand je le lance hors codeblocks, je dois rentrer un chiffre à convertir (normal). Problème, lorsque je rentre ce chiffre et que je fais entrer, la console se ferme, alors j'ai essayé de mettre system("PAUSE"); avant return 0; mais ça me marque
"error : "system" was not declared in this scope".
Voilà mon premier problème, ensuite le second, je veux multiplier par un nombre décimal alors je fais
int resultat = 0;
int a = 0;
float b = 6.55;
cin >> a;
resultat = a * b;
mais lorsque je rentre mon chiffre avec codeblocks puisque hors codeblocks il se referme, il ne se multiplie pas par 6.55 mais par 6. Ce qui est incorrect.
J'espere que j'ai été clair, merci de votre aide !
"error : "system" was not declared in this scope".
Voilà mon premier problème, ensuite le second, je veux multiplier par un nombre décimal alors je fais
int resultat = 0;
int a = 0;
float b = 6.55;
cin >> a;
resultat = a * b;
mais lorsque je rentre mon chiffre avec codeblocks puisque hors codeblocks il se referme, il ne se multiplie pas par 6.55 mais par 6. Ce qui est incorrect.
J'espere que j'ai été clair, merci de votre aide !
A voir également:
- C++ calc.nombre décimal et console se ferme
- Application se ferme toute seule android - Guide
- Rouvrir onglet fermé chrome - Guide
- Test console steam deck - Guide
- Console action - Accueil - Jeu vidéo
- Coco.fr fermé - Accueil - Réseaux sociaux
2 réponses
Bonjour,
Pour la fonction system, il me semble qu'il faut inclure cstdlib, comme ceci :
Pour le second souci, vous demandez à saisir un int, un nombre entier. Mettez un double ou un float, et ça ira mieux :).
Mourir nuit gravement à votre santé.
Pour la fonction system, il me semble qu'il faut inclure cstdlib, comme ceci :
#include <cstdlib>
Pour le second souci, vous demandez à saisir un int, un nombre entier. Mettez un double ou un float, et ça ira mieux :).
Mourir nuit gravement à votre santé.
mat08
Messages postés
322
Date d'inscription
Statut
Membre
Dernière intervention
9
Comment mettre un double ? Et c'est quoi un double ?
Bonjour
La fonction system est déclarée dans stdlib, il suffit donc d'ajouter
au début de ton programme.
Pour ton second problème, c'est sûrement parce que tu mets le résultat de la multiplication dans un int. Change ta déclaration
La fonction system est déclarée dans stdlib, il suffit donc d'ajouter
#include <stdlib.h>
au début de ton programme.
Pour ton second problème, c'est sûrement parce que tu mets le résultat de la multiplication dans un int. Change ta déclaration
float resultat = 0;
Si, maintenant ça multiplie bien par 6.55. Par contre, le nombre a est toujours un entier. Peut-être voulais-tu qu'il soit lui aussi en float.
Si tu saisis 1, vois-tu bien le résultat 6.55 ? Si tu ne vois que 6, c'est peut-être que ce code est dans une fonction qui retourne un int, ou que tu recopies resultat dans une variable int.
Si tu saisis 1, vois-tu bien le résultat 6.55 ? Si tu ne vois que 6, c'est peut-être que ce code est dans une fonction qui retourne un int, ou que tu recopies resultat dans une variable int.
La fonction system est déclarée dans stdlib, il suffit donc d'ajouter
#include <stdlib.h>
En C++, c'est plutôt cstdlib qu'il faut inclure comme dit par tiobet.
Après, la multiplication se fait bien par 6.55, mais puisque resultat est en int, il arrondit. Il faut donc mettre en double (ou éventuellement float).
Ce qui donnerait :
#include <stdlib.h>
En C++, c'est plutôt cstdlib qu'il faut inclure comme dit par tiobet.
Après, la multiplication se fait bien par 6.55, mais puisque resultat est en int, il arrondit. Il faut donc mettre en double (ou éventuellement float).
Ce qui donnerait :
#include <iostream> #include <cstdlib> using namespace std; int main() { double resultat = 0; int a = 0; double b = 6.55; cin >> a; resultat = a * b; cout << "resultat=" << resultat << endl; system("pause"); }