Título: cual es la diferencia [?] Publicado por: .:BlackCoder:. en 2 Mayo 2010, 19:38 pm Wenas :)... Andaba viendo unos codes y vi algo, que me llamo la atencion... Puesto que no le veo el ¿por que?... Aca les dejo parte del code, que me imagino con eso basta:
Código
Ok... En (1) lo que no capto es, para que un char, segun mi ingles :xD "permite ingresar un entero y salir" 0o? y que? igual flag no se va a hacer true si declaras onum como int... porq por ejemplo 'A' o 97 (o su valor en ascii) no es menor que 4 :-\ Y en (2) pes para que el " -'0' "? Saludos, esas 2 dudas na mas y pes de antemano gracias... Título: Re: cual es la diferencia [?] Publicado por: biribau en 2 Mayo 2010, 20:27 pm '0' - '0' = 0
'1' - '0' = 1 ... onum lee un carácter luego si metes un carácter del 0 al 4 llamará al info de ese objeto en el array, si es mayor que '4' o menor que '1' o sea no está en el rango, acaba el bucle y el programa Recuerda 'A' - 'A' = 0 siempre, y una carcterística y común en los sistemas de codificación de caracteres es que las letras vayan consecutivas, y las cifras, luego si '0' = x numero ascii, '1' = x + 1, y N(caracter cifra) = x + N(numero), por tanto N(numero) = N(caracter cifra) - x = N(caracter cifra) - '0', sólo hay que restarle el primero. Título: Re: cual es la diferencia [?] Publicado por: .:BlackCoder:. en 2 Mayo 2010, 20:42 pm Pero '0' en ascii es 0... Asi que para que le quiero restar 0 a un caracter?... No es mejor algo asi:
Código
Lo que me extraña es que dice que con char "permite" salir si se ingresa una letra... y con int tambien deberia :¬¬ porq el valor por ejemplo, de 'A', 97 creop, sigue siendo mayor que 4 asi que flag no se hace true, y por eso se saldria del bucle... Pero no es asi yo lo probe y si ingresas una letra se sale... pero si ingresas el numero 4, por ejemplo te muestra square.. y luego al presionar una letra se vuelve loco el programa xD como un bucle infinito... debe ser algo con respecto al buffer... Saludos gracias por responder... Título: Re: cual es la diferencia [?] Publicado por: .:BlackCoder:. en 2 Mayo 2010, 20:56 pm Me equivoque bien feo ;D elñ valor de '0' ne ascii no es 0 es 48, asi que ya entendi el porq... estan haciendo como un cast... Superada esa parte :xD
Pero igual no veo el porq de que la forma en que yo lo hago no funciona... O weno funciona si ingresas una letra en la primera vuelta, y se sale del bucle como deberia ser. Pero si en la primera vuelta introduces un entero, se cumple la condicion del bucle, y en la segunda llegas a introducir una letra se vuelve loco... Saludos... Título: Re: cual es la diferencia [?] Publicado por: biribau en 2 Mayo 2010, 21:50 pm El problema es que lees un entero y tu le metes una letra, supongo que entonces no "come" caracteres del buffer, y este no mengua, y siempre tiene que leer, que es lo mismo lo perpetúa.
Título: Re: cual es la diferencia [?] Publicado por: .:BlackCoder:. en 2 Mayo 2010, 21:55 pm Mmmm yo crei que se hacia un cast con algo asi...
Código
Weno muchas gracias por el dato... Saludos... |