#include <ctype.h>
#include <stdio.h>
#include <string.h>
int validar_saldo( char * str) {
/* DEBUG */
fprintf ( stderr
, "DEBUG: valor passado: [%s]\n " , str
) ;
if ( * str == '-' ) str++;
if ( ! isdigit ( ( unsigned char ) * str
) ) return 0 ; /* empty strings return false */ while ( * str) {
if ( ! isdigit ( ( unsigned char ) * str
) ) return 0 ; str++;
}
return 1 ;
}
int main( void ) {
char line[ 100 ] ;
while ( fgets ( line
, sizeof line
, stdin
) ) { char * componente;
componente
= strtok ( line
, " " ) ; /* primeiro componente */ componente
= strtok ( NULL
, " " ) ; /* segundo componente */ printf ( "Resultado: %d\n " , validar_saldo
( componente
) ) ; }
return 0 ;
}
I2luY2x1ZGUgPGN0eXBlLmg+CiNpbmNsdWRlIDxzdGRpby5oPgojaW5jbHVkZSA8c3RyaW5nLmg+CgppbnQgdmFsaWRhcl9zYWxkbyhjaGFyICpzdHIpIHsKICAgIC8qIERFQlVHICovCiAgICBmcHJpbnRmKHN0ZGVyciwgIkRFQlVHOiB2YWxvciBwYXNzYWRvOiBbJXNdXG4iLCBzdHIpOwoKICAgIGlmICgqc3RyID09ICctJykgc3RyKys7CiAgICBpZiAoIWlzZGlnaXQoKHVuc2lnbmVkIGNoYXIpKnN0cikpIHJldHVybiAwOyAvKiBlbXB0eSBzdHJpbmdzIHJldHVybiBmYWxzZSAqLwogICAgd2hpbGUgKCpzdHIpIHsKICAgICAgICBpZiAoIWlzZGlnaXQoKHVuc2lnbmVkIGNoYXIpKnN0cikpIHJldHVybiAwOwogICAgICAgIHN0cisrOwogICAgfQogICAgcmV0dXJuIDE7Cn0KCmludCBtYWluKHZvaWQpIHsKICAgIGNoYXIgbGluZVsxMDBdOwoKICAgIHdoaWxlIChmZ2V0cyhsaW5lLCBzaXplb2YgbGluZSwgc3RkaW4pKSB7CiAgICAgICAgY2hhciAqY29tcG9uZW50ZTsKICAgICAgICBjb21wb25lbnRlID0gc3RydG9rKGxpbmUsICIgIik7IC8qIHByaW1laXJvIGNvbXBvbmVudGUgKi8KICAgICAgICBjb21wb25lbnRlID0gc3RydG9rKE5VTEwsICIgIik7IC8qIHNlZ3VuZG8gY29tcG9uZW50ZSAqLwogICAgICAgIHByaW50ZigiUmVzdWx0YWRvOiAlZFxuIiwgdmFsaWRhcl9zYWxkbyhjb21wb25lbnRlKSk7CiAgICB9CiAgICByZXR1cm4gMDsKfQ==
stdin
MTIzLTU1NTU1LTEgMTAwMDAgICAgMCAgICAgIE9LCjEyMy01NTU1NS0yIEVSUk8gICAgNTAgICAgIEVSUk8KMTIzLTU1NTU1LTMgLTUwMDAgICAgMCAgICAgIE9LCjEyMy01NTU1NS00IDMtNTAgICAgMTAgICAgIEVSUk8KMTIzLTU1NTU1LTUgNzY0YWJjIDEwMCAgICAgRVJSTwoxMjMtNTU1NTUtNiAwICAgICAgMTUwICAgICAgT0sKMTIzLTU1NTU1LTcgICAgIDAgIDE1MCAgICAgIE9LCg==
123-55555-1 10000 0 OK
123-55555-2 ERRO 50 ERRO
123-55555-3 -5000 0 OK
123-55555-4 3-50 10 ERRO
123-55555-5 764abc 100 ERRO
123-55555-6 0 150 OK
123-55555-7 0 150 OK