nounou
-
Modifié par jipicy le 28/05/2010 à 19:19
Bilow -
28 mai 2010 à 19:27
Bonjour,
ce code c ne veut pas fonctionner je veux saisir une chaine mais lors de l'exécution il fait du n'importe quoi svp aider moi a resoudre ce probleme et merci d'avance
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
char *decaler_zero(char *ch,int pos)
{
int i;
if ((ch[pos]=='0')&&(pos+1<strlen(ch)))
{
for(i=pos;i<strlen(ch);i++)
ch[i]=ch[i+1];
decaler_zero(ch,pos+1);
}
return (ch);
}
c=getchar();
switch(c){
case '+':ch1[0]=c; break;
case '-':ch1[0]=c; break;
case '0':ch1[0]=c; break;
case '1':ch1[0]=c; break;
case '2':ch1[0]=c; break;
case '3':ch1[0]=c; break;
case '4':ch1[0]=c; break;
case '5':ch1[0]=c; break;
case '6':ch1[0]=c; break;
case '7':ch1[0]=c; break;
case '8':ch1[0]=c; break;
case '9': ch1[0]=c; break;
ch1=(char *)realloc(ch1,(l+1)*sizeof(char));
break;
default :
break;
}
while (c!='\n')
{
l=strlen (ch1);
c=getchar();
switch(c){
case '0':ch1[0]=c; break;
case '1':ch1[0]=c; break;
case '2':ch1[0]=c; break;
case '3':ch1[0]=c; break;
case '4':ch1[0]=c; break;
case '5':ch1[0]=c; break;
case '6':ch1[0]=c; break;
case '7':ch1[0]=c; break;
case '8':ch1[0]=c; break;
case '9': ch1[l-1]=c;
ch1[l]='\0';
ch1=(char *)realloc(ch1,(l+2)*sizeof(char));
break;
default : break;
}
}
if ((ch1[0]=='+')||(ch1[0]=='-'))
decaler_zero(ch1,1);
else
decaler_zero(ch1,0);