- include < stdio.h>
- include < string.h>
void convbase10(char *, int);
int dechiffrer(char ) ;
int puissance(int , int ) ;
int main(){
int c;
int b;
char *s;
printf("entrez votre chaine : " );
int i=0;
while(c=getchar()!=´\n´){
*s=c;
s++;
i++;
}
*s=´/0´;
printf("et la base dans laquelle elle est ecrite " );
scanf("%d",&);
printf("cette chaine vaut : " );
convbase10(s-i,b);
return 0;
}
int dechiffrer(char c){
if(c>=´0´ && c<=´9´)
return ( c-´0´);
else return ( 10+c-´A´);
}
int puissance(int n, int b){
int a=n;
int i;
if(b==0)
return 1;
if(b==1)
return n;
else {
i=2;
while(i<=b){
a=a*a;
i++;
}
return a;
}
}
void convbase10(char *s, int b){
int a;
int n=0;
a=strlen(s);
while(*s!=´\0´){
n=n+(dechiffrer(*s))*puissance(b,a);
a--;
s++;
}
printf("%d",n);
}
c un prog qui doit convertir une chaine écrite base b en base 10.
ca me marque des résultats chelou
et jai qq pb de compilation aussi:
( L-10)[Warning] multi-character character constant
In function `main´:
( L-10)[Warning] overflow in implicit constant conversion
de votre aide