Hello a tous,
J suis un amateur en prog... et j aurai besoin de votre coup de main... est ce que vous pourriez me dire ce qui joue pas dans ce code et ce qu il faudrai encore mettre pour qu il soit fini?! Je vous serai très reconnaissant !!!
voilà la source:
////////////////////////
// Includes
#include<iostream>
#include<string.h>
// namespace -> std
using namespace std;
// fonction principale
int main (void)
{
unsigned int final_base = 0;
char *init_base = new char[10];
unsigned int flag_error = 1; // flag error = 1
unsigned int init_base_len = 0;
// initialisation de init_base
strcpy (init_base,"\0");
// choix de la base initiale
while((final_base <= 0) || (final_base > 3))
{
cout << "\nBase Converter\n";
cout << "--------------\n";
cout << "1: -> Binaire\n";
cout << "2: -> Hexadecimal\n";
cout << "3: -> Decimal\n\n";
cout << "Veuillez choisir la base finale [1,2,3]: ";
cin >> final_base;
};
while(flag_error != 0)
{
cout << "\nConventions pour la valeur a convertir\n";
cout << "--------------------------------------\n";
if(final_base!=3)
cout << " d: decimal [ex: d_102]\n";
if(final_base!=1)
cout << " b: binaire [ex: b_1010]\n";
if(final_base!=2)
cout << " h: hexadecimal [ex: h_F4ED]\n";
if(init_base!="")
cout << " s: utiliser la derniere valeur entree\n";
cout << "\nEntrer votre base de depart: ";
cin >> init_base;
// control de la longeur de init_base
if(init_base_len=strlen(init_base)<3)
{
flag_error=1; // entree pas assez longue
cout << "\n\n\n!!! L'entree -> " << init_base << " <- n'est pas assez longue !!!\n\n\n";
}
else
flag_error=0;
// gestion des chars (maj/min) -> min
init_base[0] = tolower(init_base[0]);
// control de la base entree
if(flag_error == 0)
{
if((init_base[0] != 'd') &&
(init_base[0] != 'b') &&
(init_base[0] != 'h') &&
(init_base[0] != 's'))
{
flag_error=1;
cout << "\n\n\n!!! La base entree n'existe pas !!!\n\n\n";
}
else
flag_error=0;
}
// control si l'utilisateur ne veut pas convertir dans la meme base
if(flag_error == 0)
{
if(((init_base[0] == 'b') && (final_base == 1)) ||
((init_base[0] == 'h') && (final_base == 2)) ||
((init_base[0] == 'd') && (final_base == 3)))
{
flag_error=1;
cout << "\n\n\n!!! Base initiale = Base finale !!!\n\n\n";
}
else
flag_error=0;
}
// effectuer la convertion
if(flag_error == 0)
{
switch(init_base[0])
{
case 'd':
if(final_base == 1) // convertion decimal -> binaire
{
}
else if(final_base == 2) // convertion decimal -> hexadecimal
{
}
break;
case 'b':
if(final_base == 3) // convertion binaire -> decimal
{
}
else if(final_base == 2) // convertion binaire -> hexadecimal
{
}
break;
case 'h':
if(final_base == 3) // convertion hexadecimal -> decimal
{
}
else if(final_base == 1) // convertion hexadecimal -> binaire
{
}
break;
default: break; //on ne devrait JAMAIS arriver ici
}
}
};
delete init_base;
return 0;
}
////////////////////////////
MERCI BCP !!!!! :)