Wenn du das ganze mit atoi(=alphanumerische zu Int) dann müsstes du das ganze mit einer while/for schleife realisieren, wobei das
abbruchskriterium die Eingabe von der return-taste ist, glaub ich...
Bsp
Code:
int input()
{
char char_Eingabe[];
int int_Eingabe[];
int index, zahl;
for(index=0; index<=10; ++index)
{
char_Eingabe[index]=getche();
if(char_Eingabe[index]>='0' && char_Eingabe[index]<='9')
{
int_Eingabe[index]=atoi(char_Eingabe[index]);
}//end if
else if(char_Eingabe[index]=13) //13=Return Taste
break;
else
{
error_code=1;
break;
}//end else
}//end for()
if(error_code!=1)
{
zahl=input2zahl(int_eingabe[],strlen(int_eingabe[])-3);
}
else /*Hier muss man sich jetzt noch was sinnvolles überlegen, sodass
dann das gesamte Programm entweder neustartet od. überhaupt beendet wird.
Das einfachste wäre vielleicht mit exit, wodurch das Programm einfach
abgebrochen wird...
*Correct me if if i'm wrong* */
return zahl;
}
int input2zahl(string[],length)
//wenns mit string[] ned funzt, probiers mal mit einem Pointer
{
int index;
int zahl=0;
int exp=length;
for(index=0;index<=length;++index,--exp)
{
number=string[index]
zahl= (int)(zahl + pow((double)number,(double)exp));
//fuer pow() brauchst du math.h, pow(double x, double y)=> x^y
}
return zahl;
}
So das is jetzt ein bissl kompliziert worden, mir is aba nix besseres eingfallen, würd mich freuen, wenns sich andere das auch noch genauer anschaun zwecks Verbesserungen. Wenns fragen zum Sourcecode gibt, postet einfach, ich hab nur jetzt keine Zeit mehr ghabt das alles ausführlich zu dokumentieren...
Aja und getestet hab ichs auch ned, kann also sehr fehlerhaft sein, wenn ich was übersehen hab
PredeX