Convertisseur decimal/binaire qui se compile et marche avec VisualC++, mais pas sous devC++
Salut à tous !
Comme dit dans le titre, mon code se compile sous visualC++, mais pas sous DevC++ et c'est embêtant, car j'utilise beaucoup plus fréquemment DevC++...
Voici le code en question:
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 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96
|
#include <stdio.h>
#include <stdlib.h>
void FindBinFromDec(int decimalValue);
void CalculateNumberOfBinValue(int decimalValue, int *numberOfBinValue_);
int main(int argc, char *argv[])
{
int numberDec, numberBin, numberOfBinValue_;
printf("Entrez un nombre: ");
scanf("%ld", &numberDec);
CalculateNumberOfBinValue(numberDec, &numberOfBinValue_);
if (numberDec <= 4095) printf("En binaire, le nombre %ld s'ecrit: ", numberDec);
FindBinFromDec(numberDec, numberOfBinValue_);
return 0;
}
void FindBinFromDec(int decimalValue, int numberOfBinValue)
{
int *binValueInArray = malloc(numberOfBinValue * sizeof(int));
int i = numberOfBinValue;
while(i > 0)
{
binValueInArray[i] = decimalValue % 2;
decimalValue = decimalValue / 2;
i--;
}
i = 1;
while(i <= numberOfBinValue)
{
printf("%ld", binValueInArray[i]);
i++;
}
printf("\n");
}
void CalculateNumberOfBinValue(int decimalValue, int *numberOfBinValue_)
{
if (decimalValue == 0 || decimalValue == 1)
{
*numberOfBinValue_ = 1;
}
else if (decimalValue == 2 || decimalValue == 3)
{
*numberOfBinValue_ = 2;
}
else if (decimalValue >= 4 && decimalValue <= 7)
{
*numberOfBinValue_ = 3;
}
else if (decimalValue >= 8 && decimalValue <= 15)
{
*numberOfBinValue_ = 4;
}
else if (decimalValue >= 16 && decimalValue <= 31)
{
*numberOfBinValue_ = 5;
}
else if (decimalValue >= 32 && decimalValue <= 63)
{
*numberOfBinValue_ = 6;
}
else if (decimalValue >= 64 && decimalValue <= 127)
{
*numberOfBinValue_ = 7;
}
else if (decimalValue >= 128 && decimalValue <= 255)
{
*numberOfBinValue_ = 8;
}
else if (decimalValue >= 256 && decimalValue <= 511)
{
*numberOfBinValue_ = 9;
}
else if (decimalValue >= 512 && decimalValue <= 1023)
{
*numberOfBinValue_ = 10;
}
else if (decimalValue >= 1024 && decimalValue <= 2048)
{
*numberOfBinValue_ = 11;
}
else if (decimalValue >= 2049 && decimalValue <= 4095)
{
*numberOfBinValue_ = 12;
}
else
{
printf("Le programme ne prend en compte seulement les valeur comprises entre 0 et 4095\n");
}
} |
Merci d'avance !
EDIT: les erreurs^^
1>------ Début de la génération*: Projet*: Nom Complet, Configuration*: Debug Win32 ------
1>Compilation en cours...
1>main.c
1>c:\users\voldemort09\documents\visual studio 2008\projects\nom complet\nom complet\main.c(12) : error C2143: erreur de syntaxe*: absence de ';' avant 'type'
1>c:\users\voldemort09\documents\visual studio 2008\projects\nom complet\nom complet\main.c(13) : error C2065: 'nbMembres'*: identificateur non déclaré
1>c:\users\voldemort09\documents\visual studio 2008\projects\nom complet\nom complet\main.c(14) : error C2275: 'AgeNom'*: utilisation non conforme de ce type comme expression
1> c:\users\voldemort09\documents\visual studio 2008\projects\nom complet\nom complet\struct.h(4)*: voir la déclaration de 'AgeNom'
1>c:\users\voldemort09\documents\visual studio 2008\projects\nom complet\nom complet\main.c(14) : error C2146: erreur de syntaxe*: absence de ';' avant l'identificateur 'famille'
1>c:\users\voldemort09\documents\visual studio 2008\projects\nom complet\nom complet\main.c(14) : error C2065: 'famille'*: identificateur non déclaré
1>c:\users\voldemort09\documents\visual studio 2008\projects\nom complet\nom complet\main.c(14) : error C2065: 'nbMembres'*: identificateur non déclaré
1>c:\users\voldemort09\documents\visual studio 2008\projects\nom complet\nom complet\main.c(14) : error C2109: un indice requiert un type tableau ou pointeur
1>c:\users\voldemort09\documents\visual studio 2008\projects\nom complet\nom complet\main.c(15) : error C2065: 'nbMembres'*: identificateur non déclaré
1>c:\users\voldemort09\documents\visual studio 2008\projects\nom complet\nom complet\main.c(18) : error C2065: 'famille'*: identificateur non déclaré
1>c:\users\voldemort09\documents\visual studio 2008\projects\nom complet\nom complet\main.c(18) : error C2109: un indice requiert un type tableau ou pointeur
1>c:\users\voldemort09\documents\visual studio 2008\projects\nom complet\nom complet\main.c(20) : error C2065: 'famille'*: identificateur non déclaré
1>c:\users\voldemort09\documents\visual studio 2008\projects\nom complet\nom complet\main.c(20) : error C2109: un indice requiert un type tableau ou pointeur
1>c:\users\voldemort09\documents\visual studio 2008\projects\nom complet\nom complet\main.c(22) : error C2065: 'famille'*: identificateur non déclaré
1>c:\users\voldemort09\documents\visual studio 2008\projects\nom complet\nom complet\main.c(22) : error C2109: un indice requiert un type tableau ou pointeur
1>c:\users\voldemort09\documents\visual studio 2008\projects\nom complet\nom complet\main.c(23) : error C2065: 'nbMembres'*: identificateur non déclaré
1>c:\users\voldemort09\documents\visual studio 2008\projects\nom complet\nom complet\main.c(26) : error C2065: 'famille'*: identificateur non déclaré
1>c:\users\voldemort09\documents\visual studio 2008\projects\nom complet\nom complet\main.c(26) : error C2109: un indice requiert un type tableau ou pointeur
1>c:\users\voldemort09\documents\visual studio 2008\projects\nom complet\nom complet\main.c(29) : error C2065: 'famille'*: identificateur non déclaré
1>c:\users\voldemort09\documents\visual studio 2008\projects\nom complet\nom complet\main.c(29) : error C2109: un indice requiert un type tableau ou pointeur
1>c:\users\voldemort09\documents\visual studio 2008\projects\nom complet\nom complet\main.c(31) : error C2065: 'famille'*: identificateur non déclaré
1>c:\users\voldemort09\documents\visual studio 2008\projects\nom complet\nom complet\main.c(31) : error C2109: un indice requiert un type tableau ou pointeur
1>c:\users\voldemort09\documents\visual studio 2008\projects\nom complet\nom complet\main.c(37) : error C2065: 'famille'*: identificateur non déclaré
1>c:\users\voldemort09\documents\visual studio 2008\projects\nom complet\nom complet\main.c(37) : error C2109: un indice requiert un type tableau ou pointeur
1>c:\users\voldemort09\documents\visual studio 2008\projects\nom complet\nom complet\main.c(39) : error C2065: 'famille'*: identificateur non déclaré
1>c:\users\voldemort09\documents\visual studio 2008\projects\nom complet\nom complet\main.c(39) : error C2109: un indice requiert un type tableau ou pointeur
1>Le journal de génération a été enregistré à l'emplacement "file://c:\Users\Voldemort09\Documents\Visual Studio 2008\Projects\Nom Complet\Nom Complet\Debug\BuildLog.htm"
1>Nom Complet - 25 erreur(s), 0 avertissement(s)
========== Génération*: 0 a réussi, 1 a échoué, 0 mis à jour, 0 a été ignoré ==========