Einzelnen Beitrag anzeigen
Alt 01.06.2002, 15:49   #9
PredeX
Senior Member
 
Registriert seit: 03.09.2001
Alter: 41
Beiträge: 165


Standard kleiner Fehler

[edit]: vergesst dieses Post, skippt weiter zum nächsten...
[edit2]: vergesst es doch nicht ganz, denn der source erklärt so
ungefähr wie atoi anscheinend funzt. Sollte das sandy nicht
interessieren, dann ließ nach dem Sourcecode weiter...

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 + number*(pow(10.0,(double)exp));//<--hier war ein Fehler
    //fuer pow() brauchst du math.h, pow(double x, double y)=> x^y
  }
  return zahl;
}
@sandy:
Also deine Abfrage schließt jetzt aus dass die Float bzw double Zahlen
falsch eingegeben wurden, während meine nicht mit float bzw. double
Zahlen umgehen kann sondern nur mit int werten. Meine Variante schließt -so glaub ichs zumindestens- schließt die eingabe von
Zahlen, die verschieden von 0-9 sind mit Sicherheit aus und bricht ab.

PredeX
____________________________________
There are 10 types of people, those who understand binary and those who don\'t...

Ask Me No Questions, And I Tell You No Lies!
PredeX ist offline   Mit Zitat antworten