2 poo u1 10 salida con formato y flujos de entrada
-
Upload
jorge-ivan-rivalcoba-rivas -
Category
Documents
-
view
33 -
download
0
Transcript of 2 poo u1 10 salida con formato y flujos de entrada
M.C Ivan Rivalcoba
PROGRAMACIÓN ORIENTADA A
OBJETOSC# & .NET
1. FUNDAMENTOS POO (OOP)SALIDA CON FORMATO Y
FLUJOS DE ENTRADA
SALIDA CON FORMATO
La sintaxis de llaves “{}” para la salida estándar permite realizar un formateo mas preciso sobre la salida.
Esto se logra anexando dos puntos y una letra correspondiente al tipo de formato que se desea, un ejemplo se presenta a continuación:
“{I,A:#P}” Donde I: Indice A: Alineamiento, #: Código P:Presición
SALIDA CON FORMATO
Para la salida estándar de números se tienen los siguientes ejemplos:
Para mas información: http://msdn.microsoft.com/en-us/library/txafckwd(v=vs.110).aspx
SALIDA CON FORMATO
Ejercicio: Para una lista exhaustiva de todas las posibilidades del formateo con cadenas codificar el siguiente código:
FLUJO DE ENTRADA
El .Net Framework class library (FCL) dispone de dos métodos que permiten la lectura de datos desde la entrada estándar usando para ese propósito un buffer de entrada.
Por defecto ese buffer es llenado usando el teclado, ambos métodos pertenecen a la clase Console misma que pertenece al espacio de nombres System.
FLUJO DE ENTRADA
Las firmas (signatures) de dichos métodos se presentan a continuación:
1. public static int Read()
2. public static string ReadLine()
El método “ReadLine()” lee toda una línea hasta encontrar un fin de línea (“\r\n”).
A pesar de que lee hasta el carácter de fin de línea, solo retorna la cádena hasta antes del fin de línea.
El proceso de lectura de un ReadLine se describe a continuación.
MÉTODO “READLINE()”
El sistema Abre un buffer (memoria) y permite la escritura de dicho buffer desde la entrada estándar (por defecto el teclado).
El usuario ingresa caracteres desde el teclado, la operación termina hasta que el usuario ingresa el carácter de fin de línea (Enter o 0D+0A o “\r\n”).
El método ReadLine lee todo el buffer y retorna todo lo escrito hasta antes de los caracteres de fin de línea.
MÉTODO “READLINE()”
¿Qué pasaría si en vez de cadena requerimos de datos numéricos?.
Un hecho es que ReadLine retorna una cadena de caracteres, una cadena no puede ser trabajada aritméticamente.
Cada tipo numérico de C# permite la conversión de una cadena de caracteres a su correspondiente valor en el tipo numérico, esta operación es llamada PARSEO.
A continuación un ejemplo:
MÉTODO “READLINE()”
MÉTODO “READ()”
El método Read simplemente lee caracteres individuales desde el teclado.
Devuelve un entero correspondiente al código en ASCII del carácter leído.
O en su caso devuelve un valor negativo si se encuentra con el fin de flujo esto es \r\n.
MÉTODO “READ()”
Ejercicio 1: Crear un programa que lea un carácter desde el teclado, El programa deberá imprimir “Indique su sexo [H/M]: ” si el carácter es M o m que imprima “Bienvenida bella dama” si es H o h que imprima “Bienvenido honorable caballero”, En caso contrario que imprima “Opción no valida”.
Se debe de tener mucho cuidado, ya que si el buffer esta lleno con mas de un carácter la siguiente lectura tomara el carácter formado en el buffer.
MÉTODO “READ()”
El proceso de lectura de Read() sucede de la siguiente manera: El sistema Abre un buffer (memoria) y permite la
escritura de dicho buffer desde la entrada estándar (por defecto el teclado).
El usuario ingresa caracteres desde el teclado, la operación termina hasta que el usuario ingresa el carácter de fin de línea (Enter o 0D+0A o “\r\n”).
El método Read lee el primer carácter del buffer y lo retorna en su equivalente ASCII, el tipo que regresa es entero.
MÉTODO “READ()”
Es importante notar que el Buffer se queda con la información restante, por lo que si se vuelve a invocar el método Read, el método retornaría el equivalente ASCII del siguiente carácter en el buffer en este caso “H”.
MÉTODO “READ()”
HIS IS A MESSAGE\r\n
Una forma de evitar que el buffer se quede con información es utilizando el método ReadLine().
Este método lee toda una línea hasta encontrar un fin de línea (“\r\n”).
Esto provoca una limpieza de Buffer, el código corregido queda de la siguiente manera.
MÉTODO “READ()”
Para poder redireccionar la entrada estándar se realiza la siguiente invocación.
C:\>programa.exe < input.txtEjemplo:
REDIRECCIONAMIENTO
En donde estará localizado el ejecutable de dicho archivo agregar un archivo llamado input.txt.
REDIRECCIONAMIENTO
Desde la consola mandar a llamar el programa así:
La entrada la tomara desde el archivo input.txt, provocando la siguiente salida:
REDIRECCIONAMIENTO