Je suis etudiant en premiere annee en Informatique ,
Je souhaite realiser une mini-calculatrice qui affiche le resultat d'une operation entre en argumentdu type 68 + 120 , 99 - 896 ...
Je ne gere pour l'instant que l'operateur '+' et quand je lance mon programme il devrait afficher :
"
./a.out 5 + 5
10
"
Le probleme est qu'il ne m'affiche rien , voici mon code , fonction par fonction :
int my_putchar(char c)
{
write(1, &c, 1);
}
int my_put_str(char *str)
{
int i;
i = 0;
while (str[i])
{
my_putchar(str[i]);
i = i + 1;
}
return (0);
}
int my_get_nbr(char *str)
{
int res;
int signe;
int i;
res = 0;
signe = 0;
i = 0;
while(str[i] && str &&(str[i] == '+' || str[i] == '-'))
{
if (str[i++] == '-')
{
signe++;
}
}
while (str[i] && str)
{
res = res * 10 + (str[i++] - '0');
}
if (signe % 2 == 1)
{
return (-res);
}
return (res);
}
int my_put_nbr(int nb)
{
if (nb < 0)
{
nb = nb * -1;
my_putchar('-');
}
if (nb / 10 > 0)
{
my_put_nbr(nb / 10);
}
my_putchar('0' + nb % 10);
return (1);
}
int main(int argc, char **argv)
{
int res;
int a;
int b;
if (argv[3] == "+")
{
a = my_get_nbr(argv[2]);
b = my_get_nbr(argv[4]);
res = a + b;
my_put_nbr(res);
}
}
Voila , depuis hier soir je bloque sur ce foutu code ^^
Si vous auriez quelque piste sur le fait qu'il ne m'affiche rien sa serait cool,