Un programme de conversion des bases
byblosco
Messages postés
15
Statut
Membre
-
fiddy Messages postés 11653 Statut Contributeur -
fiddy Messages postés 11653 Statut Contributeur -
Bonjour,
s'il vous plait j'ai un problème j'ai un programme c++ a faire il est facile de point de vue concept si on a le droit d'utiliser le tableau mais ici le problème de cet exercice ,le but c'est de ne pas utiliser les tableau alors on se trouve dans un problème comme suit :
Ecrire un programme C++ qui :
1) demande à l'utilisateur de saisir un nombre entier n en base 10 (0 ? n ? 1'000'000)
2) demande à l'utilisateur de choisir la base b (2 ? b ? 9) dans laquelle il souhaite convertir n
3) effectue la conversion souhaitée
4) affiche à l'écran le résultat de la conversion sous la forme : (n)10 = (m)b Exemple : (7)10(111)2
5) et se termine
6) autorisation du boucle while sans utiliser les conditions et les tableau
le probleme ici c'est comment faire pour inverser le resultat depuis en bas jusqu''a en haut sans utiliser des tableaux
s'il vous plait j'ai un problème j'ai un programme c++ a faire il est facile de point de vue concept si on a le droit d'utiliser le tableau mais ici le problème de cet exercice ,le but c'est de ne pas utiliser les tableau alors on se trouve dans un problème comme suit :
Ecrire un programme C++ qui :
1) demande à l'utilisateur de saisir un nombre entier n en base 10 (0 ? n ? 1'000'000)
2) demande à l'utilisateur de choisir la base b (2 ? b ? 9) dans laquelle il souhaite convertir n
3) effectue la conversion souhaitée
4) affiche à l'écran le résultat de la conversion sous la forme : (n)10 = (m)b Exemple : (7)10(111)2
5) et se termine
6) autorisation du boucle while sans utiliser les conditions et les tableau
le probleme ici c'est comment faire pour inverser le resultat depuis en bas jusqu''a en haut sans utiliser des tableaux
A voir également:
- Un programme de conversion des bases
- Programme demarrage windows - Guide
- Mettre en veille un programme - Guide
- Desinstaller un programme - Guide
- Programme word gratuit - Guide
- Base de registre - Guide
1 réponse
voila mon code source mais les valeurs sont a l'envers.
#include <iostream>
#include <cstdlib>
using namespace std;
int main() {
unsigned short n;
unsigned short b;
unsigned short reste;
cout << " veuillez saisir le nombre que vous souhaiter convertir : ";
cin >> n;
cout << " veuillez saisir la base : ";
cin >> b;
cout << "("<<n<<")10 = " ;
cout << "(";
while (n/b!=0) {
reste = n % b;
cout << reste;
n = n / b;
};
cout << n % b;
cout << ")"<<b;
cout << endl;
system("Pause");
return EXIT_SUCCESS;
}
#include <iostream>
#include <cstdlib>
using namespace std;
int main() {
unsigned short n;
unsigned short b;
unsigned short reste;
cout << " veuillez saisir le nombre que vous souhaiter convertir : ";
cin >> n;
cout << " veuillez saisir la base : ";
cin >> b;
cout << "("<<n<<")10 = " ;
cout << "(";
while (n/b!=0) {
reste = n % b;
cout << reste;
n = n / b;
};
cout << n % b;
cout << ")"<<b;
cout << endl;
system("Pause");
return EXIT_SUCCESS;
}
reste = n % b;
cout << reste;
n = n / b;
};
Pas besoin de ';' après le while() {}.
Sinon pour inverser, il suffit de jouer avec les modulo 10 et division par 10 pour récupérer le dernier chiffre.
Par exemple :
N=12345
N%10=5. Je stocke 5 dans la variable resultat
Je stocke N/10 (1234) dans N.
N%10=4. Je fais resultat = resultat*10+4 = 54.
Je stocke N/10 (123) dans N.
N%10=3. Je fais resultat = resultat*10+3=543
Etc.
Voiloù.
Je te laisse le codage à titre d'exercice.
Note : merci d'utiliser les balises code cpp lorsque tu postes ton code.
Exemple :
<"code cpp">ici tu mets ton code<"/code"> (à mettre sans guillemets).
Note 2 : ici tu es sur le salon C. Vu que tu parles de C++, il faut le mettre dans la rubrique C++ ;-). Je redirige dans la bonne section.
Au lieu d'afficher le résultat au fur et à mesure, tu stockes ceci dans une variable temporaire et tu multiplies par 10 puis additionne.
Ainsi tu auras la valeur à inverser dans une variable.