funciones de entrada y salida de datos en c

Anuncio
08/03/2013
UNIVERSIDAD DE MANAGUA
UDEM
SUMARIO
 Entrada y Salida.
 Flujos de entrada.
 Flujos de salida.
 Salida con formato.
 ¿InputBox de VB .NET en C#?
ENTRADA Y SALIDA
 Frecuentemente un programa necesitará obtener
información desde un origen o enviar información a un
destino.
 La comunicación entre el origen de cierta información y el
destino, se realiza mediante un flujo de información (en
inglés stream).
 Un flujo es un objeto que hace de intermediario entre el
programa y el origen o destino de la información.
 La figura siguiente muestra las clases relacionadas con
flujos.
Object
Console
TextReader
Subclases
Stream
Subclases
TextWriter
Subclases
1
08/03/2013
FLUJOS DE ENTRADA
 Dos métodos tienen un especial interés porque permiten a
- Flujo desde la entrada estándar (el teclado): In.
Flujos identificados
por las propiedades
de la clase Console
un programa leer datos de la entrada estándar son:
public static int Read()
public static string ReadLine()
 Read simplemente lee caracteres individuales del flujo de
entrada estándar; concretamente lee el siguiente carácter
disponible. Devuelve un entero correspondiente al código
del carácter leído o un valor negativo que indica el final del
flujo.
 Ejemplo:
char car;
car = (char)Console.Read();
- Un flujo hacía la salida estándar (la pantalla):
Out.
- Un flujo hacia la salida estándar de error (la
pantalla): Error.
using System;
using System.Collections.Generic;
using System.Text;
 ReadLine lee una línea del flujo vinculado con la entrada
estándar; concretamente lee la siguiente línea disponible.
Devuelve una referencia a un objeto string que envuelve la
línea leída, o bien un valor null cuando no haya datos
disponibles.
 Una línea está definida como una secuencia de caracteres
seguidos por ‘\r’, ‘\n’, o bien por ‘\r\n’. La cadena devuelta
no contiene el carácter o caracteres de terminación.
namespace FlujoEntrada
{
class Program
{
static void Main(string[] args)
{
string sDato; //Variable para almacenar una
//línea de texto.
Console.Write("Introduzca un texto: ");
sDato = Console.ReadLine(); //Leer una línea de texto.
Console.WriteLine(sDato);
//Escribir la línea leída.
Console.Read();
}
}
}
2
08/03/2013
using System;
using System.Collections.Generic;
using System.Text;
FLUJOS DE SALIDA
 Dos métodos tienen un especial interés, porque permiten a
un programa escribir datos en la salida estándar, son:
public static void Write([arg]);
public static void WriteLine([arg]);
 Los métodos Write y WriteLine son esencialmente los
mismos; ambos escriben su argumento en el flujo de salida.
La única diferencia entre ellos es que WriteLine añade un
carácter ‘\n’ al final de su salida, y Write no.
namespace FlujoSalida
{
class Program
{
static void Main(string[] args)
{
string sCadena = "Lenguaje C#";
int dato_int = 4;
long dato_long = long.MinValue;
float dato_float = float.MaxValue;
double dato_double = Math.PI;
bool dato_bool = true;
Console.WriteLine(sCadena);
Console.WriteLine(dato_int);
Console.WriteLine(dato_long);
Console.WriteLine(dato_float);
Console.WriteLine(dato_double);
Console.WriteLine(dato_bool);
Console.Read();
}
}
}
SALIDA CON FORMATO
 Los métodos Write y WriteLine también permiten mostrar los
datos según un formato. Para ello se utilizarán las siguientes
formas de estos métodos:
public static void Write(formato[,argumento]…);
public static void WriteLine(formato[,argumento]…);
 Donde:
 formato: Representa el valor o valores a escribir. Es una secuencia de
caracteres formados por caracteres ordinarios, secuencias de escape y
especificaciones de formato.
Secuencias de Escape predefinidas en C#
 Argumento: representa el valor a escribir. Cada argumento debe tener su
correspondiente especificación de formato.
3
08/03/2013
 Una especificación de formato está compuesta por:
{posición[, ancho][:tipo-decimales]}
 Donde:
 posición: Posición 0, 1, 2, etc.
 ancho: Opcional. Mínimo número de posiciones para la salida. Si el
ancho se omite o el valor a escribir ocupa más posiciones de las
especificadas, el ancho es incrementado en lo necesario. Si este
valor es negativo el resultado se justifica a la izquierda dentro del
ancho especificado; si es positivo la justificación se hace a la
derecha.
 tipo: Opcional. Uno de los caracteres de la tabla mostrada a
continuación.
 decimal: Opcional. Número de dígitos a mostrar en el caso de
enteros o de decimales en el caso de fraccionarios.
using System;
using System.Collections.Generic;
using System.Text;
namespace SalidaConFormato
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("{0,9:C2}", 4.5);
Console.WriteLine("{0,9:C2}", -4.5);
Console.WriteLine("{0:D5}", 45);
Console.WriteLine("{0,5:D}", 45);
Console.WriteLine("{0:E}", 450000);
Console.WriteLine("{0:F2}", 45);
Console.WriteLine("{0:F0}", 45);
Console.WriteLine("{0,8:F2}", 45);
Console.WriteLine("{0,8:F2}", 145.3);
Console.WriteLine("{0:G}", 4.5);
Console.WriteLine("{0:N}", 4500000);
Console.WriteLine("{0:P}", 0.12345);
Console.WriteLine("{0:X}", 450);
Console.WriteLine("{0:X}", 0xff7a);
Console.Read();
}
}
}
¿INPUTBOX DE VB .NET EN C#?
 ¿Como?
 Agregar la referencia a Microsoft.VisualBasic.dll
 Utilizar el espacio de nombres: Microsoft.VisualBasic
 Acceder al método InputBox de la clase Interaction
using
using
using
using
System;
System.Collections.Generic;
System.Text;
Microsoft.VisualBasic;
namespace InputBoxEnCSharp
{
class Program
{
static void Main(string[] args)
{
string sCadena;
sCadena = Interaction.InputBox("Dato", "Atención", "", 0, 0);
Console.WriteLine(sCadena);
Console.Read();
}
}
}
4
Descargar