|
Ahora pasaré a
describir uno de los aspectos más importantes de
los lenguajes de Programación; la entrada y
salida, la cual permite al usuario de un programa
interactuar con este. Muchos lenguajes de alto
nivel suministran inadecuadas facilidades de
entrada y salida; este no es el caso de
C++. C++ tiene sus propios archivos de cabecera
por ejemplo iostream.h, fstream.h
las cuales conforman su colección de funciones de
E/S. El flujo de entrada y salida se define como
un conjunto de clases, las cuales están contenidas
en el archivo de cabecera iostream.h y se
sobrecargan con los operadores << y
>>.
El fichero
iostream.h posee variedad de facilidades,
definidas en cada una de las clases que posee, las
cuales intervienen en los procesos de conversión
de objetos en secuencia de caracteres y viceversa;
a estas facilidades se las denomina
streams.
SALIDA. Este flujo se abre automáticamente
cuando comienza la ejecución del programa. Este
método de salida (inserción) consiste en aplicar
el operador de inserción "<<" a cout.
ejemplo: #include<iostream.h> void
main() { cout<<"hola
mundo!"; }
Además el objeto
cout (objeto desde el punto de vista de la
POO), se puede sobrecargar, por ejemplo:
porcentaje_pureza =
5.4;
cout<<"El
porcentaje de pureza
es:"<<porcentaje_pureza<<endl;
son líneas de
código que nos produciría la siguiente
salida:
El porcentaje de pureza es : 5.4 el
stream endl es un salto de línea.
SALIDA
DE ERROR.
Al igual que
existe un dispositivo estándar de salida, existe
uno de error al cual se envían los mensajes
mediante el uso del objeto cerr en lugar de
cout:
cerr<<"El dato es incorrecto,
se ha producido un error!";
SALIDA CON
FORMATO.
La entrada y
salida se puede realizar aplicándole un formato el
cual se asocia con el stream de salida, un
conjunto de manipuladores, estos permiten
manipular la forma como son visualizados los
resultados al usuario, dichos manipuladores son
funciones que son llamadas en determinada parte
del código fuente, estos son algunos de los
manipuladores los cuales se encuentran en el
archivo de cabecera iomanip.h:
|
endl
|
inserta el caracter de fin
de línea '\n'
|
|
ends
|
inserta el caracter de fin
de cadena '\0' |
|
dec
|
conversión a decimal
|
|
hex
|
conversión a
hexadecimal |
|
oct
|
conversión a octal
|
|
ws
|
Extrae un espacio en blanco
del inicio de un stream
|
|
flush
|
vacía el buffer respecto de
un stream de salida
|
|
setprecision ( int
n)
|
precisión de un dato coma
flotante (cifras significativas)
|
|
setfill (int
car)
|
determina el caracter de
relleno para las cadenas de caracteres
|
|
setw (int
n)
|
establece anchura de
campo |
|
setiosflags (long
fs)
|
establece una lista de
indicadores de formato, fija bites de
formato |
|
resetiosflags (long
fs)
|
suprime una lista de
indicadores de formato e inicializa formato de
bits
|
ENTRADA. Cuando existe
un dispositivo preestablecido de entrada;
cin se asocia con este
mediante el operador de extracción ">>",
ejemplo: #include<iostream.h>
void
main()
{
int
x;
cout<<"digite un
entero";
cin>>x;
}
Con el objeto
cin podemos leer diferentes tipos de
datos, por ejemplo:
char mi_nombre[ 60
];
cout<<"Cual es su nombre ?: ";
cin>>mi_nombre;
Supongamos que
se digita Jairo Alexander en el array
de caracteres únicamente se almacenará
Jairo, para solucionar este inconveniente
tenemos la función miembro getline.
En el ejemplo anterior reemplazaríamos la tercera
línea de código por:
cin.getline(mi_nombre,60,'\n');
|