Habe mir eine Funktion gebastelt (characterToInt), die einen vom Benutzer eingelesenen String (andere Funktion) an diese übergibt und zu einer Integerzahl konvertiert.
Code: Alles auswählen
int characterToInt(char *user_in_char)
{
int out = 0;
int sign_value =0;
int count = strlen(user_in_char) - 1;
double exponent = 0;
if (strlen(user_in_char) > 11)
return 0;
for (count = strlen(user_in_char) - 1; count >= 0; count--)
{
if (isdigit(user_in_char[count]))
{
sign_value = ((user_in_char[count] - '0') * pow(10, exponent));
out = out + sign_value;
exponent++;
}
else
return 0;
}
return out;
}
Jetzt wollte ich implementieren, dass die Zahl auch negative Werte annehmen kann (daher auch das 11).
Habe es mit Code wie
Code: Alles auswählen
if (strncmp((user_in_char[0] - '0'), '-', 1))
printf("negative Zahl\n");
lg, baule1