Reviews de code - TP 2
gaussint lit(char *str) {
int i = 0;
gaussint ans = {0, 0};
int state = 0;
int pow = 1;
while (str[i]) {
int k = (int) str[i] - (int) '0';
if (!state && str[i] == '+') {
state = 1;
pow = 1;
i++;
} else if (k >= 0 && k <= 9) {
if (state == 1) {
ans.im += pow * k;
pow *= 10;
i++;
} else if (!state) {
ans.re += pow * k;
pow *= 10;
i++;
}
} else if (str[i] == 'i') {
if (!state) {
ans.im = ans.re;
ans.re = 0;
}
i++;
} else {
return (gaussint) {0, 0};
}
}
return ans;
}