petit probleme avec mon compileur
Voila, je me présente, exvander, débutant en c++
Mon problème est celui-ci: j'ai un problème qui découle surement du type de variables.
En effet, le compilateur intégré a code::blocks me donne l'erreur suivante
Citation:
C:\Users\***\Desktop\test code blocks\Nouveau dossier\10 to 16\main.cpp|78|error: 'positon' was not declared in this scope|
||=== Build finished: 1 errors, 0 warnings ===|
le code source est:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74
|
#include <iostream>
#include <string>
#include <math.h>
using namespace std;
int main()
{
int nb ; //decimal vers hexa
string tab[15] ; // tableau de conversion avec la valeur vers l'hexa et l'indice pour le decimal
string hex ; //hexa vers decimal
string retenue ; //outil de traduction de l'hexa vers le binaire
int position ; //outil de traduction de l'hexa vers le binaire
int repnb ; //reponse hexa vers decimal
string rephex ; //reponse decimal ver hexa
char choix;
int puissance(0);
tab[0] = "0";
tab[1] = "1";
tab[2] = "2";
tab[3] = "3";
tab[4] = "4";
tab[5] = "5";
tab[6] = "6";
tab[7] = "7";
tab[8] = "8";
tab[9] = "9";
tab[10] = "A";
tab[11] = "B";
tab[12] = "C";
tab[13] = "D";
tab[14] = "E";
tab[15] = "F";
cout << "1 pour 10-to-16" << endl;
cout << "2 pour 16-to-10" << endl;
cout << "0 pour quitter" << endl;
cin >> choix;
while (choix != '0') {
if (choix == '1') {
rephex = "";
cout << "veuillez entrer un nombre en decimal = ";
cin >> nb;
do {
rephex = tab[nb%16] + rephex;
nb = nb/16;
} while (nb > 0);
cout << "en hexadecimal cela donne = " << rephex << endl;
} else {
repnb = 0;
retenue = "";
cout << "veuillez saisir un nombre en hexadecimal";
cin >> hex;
do {
retenue = (hex.substr(hex.size()-1, 1));
position = 0;
while (retenue != (tab[position]) && (position <= 15)){
position ++;
}
if (position >= 16){
cout << "erreur, veuillez essayer avec un autre nombre" << endl;
}
repnb = repnb + ( positon * pow(16, puissance));
puissance++;
hex = hex.substr(1, hex.size()-1);
} while (hex.size() != 0);
cout << "en decimal cela donne = " << repnb;
}
}
return 0;
} |
Je tiens a dire que je ne veux absolument pas de commentaires sur le code source lui même, en effet je dois le rendre pour un devoir, et si il est mal optimisé ou quoi que ce soit d'autre, je tiens a ce qu'il reste tel quel, le fait que je demande de l'aide est en soi, on peut le dire, quelque chose comme de la triche. Cependant, je tiens à rendre un devoir bien fait (en fait un devoir fini) et je compte bien notifier ma recherche. Donc s'il vous plait je vous serait reconnaissant de ne concentrer votre attention que sur la ligne à problème, qui est celle barrée.
Par avance, merci.
PS: oui, je sais c'est très moche comme code.