begin process at 2010 03 22 05:40:54
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

problème de char


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

problème de char

mardi 24 août 2004 à 12:57:07 | problème de char

minet03

Coucoutout le monde, tout d'abord voilà mon code :
#include <string.h>
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
#include <iostream.h>
#include <math.h>

char *bin_dec(char *binaire)
{
int decimal = 0;
int long_binaire = strlen(binaire);
for(int i=0;i<long_binaire;i++)
{
cout<<binaire[i]<<endl;
/*if (binaire[i] == 1)
{
decimal += pow(2, i);
}*/
}
return (char *)decimal;
}

int main()
{
clrscr();
int code;
char *dec;
printf("Entrer un code binaire : ");
cin>>code;
dec = bin_dec(code); // ici l'erreur
cout<<"Code d?cimal"<<dec<<endl;
getch();
clrscr();
return 0;
}

J'ai signalé où était l'erreur : Cannot convert 'int' to 'char *'
Si quelqu'un à une solution, merci !
mardi 24 août 2004 à 13:03:42 | Re : problème de char

BruNews

Administrateur CodeS-SourceS
Serieux, tu ferais mieux d'ouvrir un bouquin de C et de l'etudier plutot que de passer ta journee comme hier sur un point de detail qui aurait du etre etudie dans un livre. Tu n'avanceras pas ainsi.

ciao...
BruNews, Admin CS, MVP Visual C++
mardi 24 août 2004 à 13:06:11 | Re : problème de char

minet03

je ne sais pas d'où viens le problème, donc je ne sais pas où chercher !!!!
mardi 24 août 2004 à 13:20:51 | Re : problème de char

DeAtHCrAsH

La fonction bin_dec() prend en parametre un pointeur sur une char et dans ta main tu lui passe un int !!! Ca te parait normal ?

Comme te l'as dis BruNews, prend un bon livre de C pour commencer!

Shell
mardi 24 août 2004 à 13:28:51 | Re : problème de char

djl

le probleme c'est que tu a plein d' "a priori" sur le c (du fait que tu ais jusqu'ici reussi à produire des codes qui "fonctionnent") mais tu n'as pas les bases qui te permettent de savoir ce que tu fais et ta facon de programmer est hasardeuse, ce qui t'amenne ici à produire un code incoherent

oubli tout ce que tu as l'impression de savoir et plonge toi dans un bouquin ou au moins un cours online, c'est la seul solution
mardi 24 août 2004 à 13:31:25 | Re : problème de char

Rusalie

Minet cherche un Matou pour lui faire la lecture ?
Le Matou de Gouttière, rusalie veut bien lui expliquer la différence entre, char et int. (Attention aux lapsus)

Cupboard expert.
mardi 24 août 2004 à 14:46:05 | Re : problème de char

DeAtHCrAsH

J'ai pas grand chose a faire alors j'ai repris ton code en le corrigeant et en y mettant des commentaires pour que tu comprènes tes erreurs.
Voici le code :

#include <stdio.h>
#include <math.h>
#include <string.h>
#include <stdlib.h>

// Prototype de la fonction de conversion
int bin_to_dec(char Val[]);

int main(int argc, char* argv[])
{
char code[100];

// On recupère la valeur binaire a convertir
printf("Entrer un code binaire : ");
scanf("%s",code);

// On affiche le résultat en calculant sa valeur décimal
printf("Code decimal : %i\n\n",bin_to_dec(code));

return 0;
}
int bin_to_dec(char Val[])
{
int cpt; // Variable de compteur
int tmp; // Variable temporaires ou on va stocker chaque élément de la chaine de caractère
int somme =0; // Variable ou va être stocké le résultat
int size = strlen(Val); // On recupere la taille de la chaine
char c[2]; // Variable qui nous permet de stocker le résultat de la conversion de chaque éléments de la chaine

// On mets le caractère de fin
c[1] = '\0';

for(cpt=0;cpt<size;cpt++)
{
// On recupère l'element en cours(char)
c[0] = Val[size-cpt-1];
// On converti l'element en cours en entier(int)
tmp = atoi(c);
// On ajoute le calcul actuel a ceux précédents
somme += pow(2,cpt)*tmp;
}

// On renvoi le résultat sous forme d'entier car la fonction est déclaré entière
return somme;
}



Comme te l'a dis djl, ce n'est pas parceque le programme fonctionne, qu'il ne comporte pas d'erreur de programmation!
Les compilateurs actuels reprennent certaines erreurs de code sans que tu t'en rendes compte.

Rien ne remplace un bon bouquin de C !!!

Shell
mardi 24 août 2004 à 14:57:26 | Re : problème de char

djl

tres généreux de ta part

pour la fonction bin_to_dec j'en avais donnés une dans l'autre topic, moins comprehensible mais plus rapide, on sait jamais ?

int bin_to_dec( const char *bin)
{
int i = 0;
char c;

while( c = *bin++ )
{
if( c == '1' ) i++;
i <<= 1;
}
i >>= 1;
return i;
}

j'ai vaguement testé
mardi 24 août 2004 à 15:38:27 | Re : problème de char

djl

en fait faudrais plutot faire

int bin_to_dec( const char *bin)
{
int i = 0;
char c;

while( c = *bin++ )
{
i <<= 1;
if( c == '1' ) i++;
}
return i;
}
mardi 24 août 2004 à 16:10:23 | Re : problème de char

minet03

je vous remerci tous, il est vrai qu'un bon bouquin serai le top, mais je ne trouve rien de correct sur le net !!! Tous les tutoriaux que je trouve parle de tel ou tel truc, mais pas comme dans un bouquin, et hélas le seule moyen que j'ai un livre serai d'attendre une fête genre Noël ! Mais merci quand même je prend note sur vaut conseil.

1 2

Cette discussion est classée dans : code, int, include, char, dec


Répondre à ce message

Sujets en rapport avec ce message

Prob avec les variables [ par Ilsundal ] Bonjour a tous,voila mon probleme, j'ai declaré une variable, mais quand je lui assigne par exemple  : MAISON, il m'affiche que M. comment faire pour oh non!! [ par bako25 ] Le prog suivant  calcule le nombre des 'e' dans un paragraphe: #include #include< Prob avec les sockets [ par Sload ] Bonjour à tous ! Voila mon probleme , j'essaye de develloper un logiciel client/serveur. Je n'en suis qu'au tout début et j'ai déja un probleme lol ! Dans le genre prenant........ [ par Xs ] oui !c 'est trés chiant !j'explique mon pb : j'ai un code source, fais par moi-meme, et dedans, je veux que l'on saisisse des renseignement comme le l Difference [ par xionoxid ] C'est koi la difference entre time (0) et time (NULL) les 2 font des nbr aleatoire !??#include #include #i Erreur DeviceIoControl ??? pk acces refusé ? [ par akk ] Bonjour,Voila lorsque j'execute ce code :(on passe le nom du lecteur en parametre exemple : main C)#include #include <iostre "désallocation" inopinée [ par vecchio56 ] J'ai touvé un truc bizarre avec Visual C++ 6: le code suivant plante:#include void f(char* a){ a = new char[100]; // alloue de la GetAsyncKeyState [ par sebleboss2002 ] Bon, c'est encore moi, ce coup-ci, j'ai trouvé (plus ou moins) comment faire ce que je voulais :#include #include <br Erreurs de compilations bizarres avec Visual C++ 6 [ par VTS_35 ] Bonjour,G encore des problèmes de compilation avec mon programme. Je me suis rendu compte que le programme allait devenir balaise, alors j'ai décidé d pb error C2011 par pitié aidé moi [ par neonmix ] Voici mon prog:c'est un garage ki possède des voitures, ces voitures peuvent être "de course" ou "de série" (classe mere voiture, classe fille voiture


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,374 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales