E/S POR CONSOLA DE C+ + - Oldemar Rodríguez Rojas

Anuncio
E/S POR
CONSOLA DE C++
Parte I. Elementos Básicos
Dr. Oldemar Rodríguez R.
Dado que C++ es un superconjunto de C,
todos los elementos del lenguaje C están
contenidos en el lenguaje C++.
 Esto implica que todos los programas en
C también son por omisión programas en
C++. (En realidad hay muy pocas
excepciones a esta regla.)
 Por Io tanto, es posible escribir programas
en C++ que parezcan programas en C.
 Aunque no hay nada malo en esto,
significa que no se va a beneficiar de las
características de C++.

La mayoría de los programadores de C++
escriben programas que usan un estilo y
características que son exclusivas de C++.
 Una razón para ello es que ayuda a
comenzar a pensar en términos de C++ en
vez de hacerlo en términos de C.
 Además, usando características de C++,
cualquiera que lea el programa sabrá
inmediatamente que es un programa en C++
y no en C.





Quizás la característica específica más común
utilizada por los programadores de C++ es su
enfoque a la E/S por consola. Aunque se
pueden utilizar funciones como printf() y scanf(),
C++ proporciona un método nuevo y mejor de
realizar estas operaciones de E/S.
En C++, la E/S se realiza usando operadores de
E/S en vez de funciones de E/S.
El operador de salida es << y el operador de
entrada >>.
Analicemos esta sentencia de C++:
cout << "Muestra esta cadena por pantalla.\n";



Esta sentencia hace que se muestre la cadena en la
pantalla de la computadora. cout es un flujo predefinido
que se enlaza automáticamente con la consola cuando
un programa C++ comienza su ejecución. Es similar al
stdout de C.
Como en C, la consola de E/S de C++ se puede redirigir,
pero para el resto de este estudio se asume que se está
utilizando la consola.
Utilizando el operador de salida << es posible sacar
cualquier tipo básico de C++. Por ejemplo, esta sentencia
muestra el valor 100.99:
cout << 100.99;

En general, para mostrar algo por consola, utilice esta
sintaxis general del operador <<:
cout<<expresión;

Para introducir un valor desde el teclado, utilice
el operador de entrada >>. Por ejemplo, este
fragmento introduce un valor entero en num:
int num;
cin >> num;


Observe que num no viene precedido por un &
Como ya sabe, como cuando se introducen
valores utilizando la función de C scanf().
Este no es el caso cuando utilizamos
operadores de entrada de C++.

En general, para introducir valores desde
el teclado utilice la sintaxis de >>:
cin >> variable;

Nota: Los papeles de << y >> son
ejemplos de sobrecarga de operadores.

Para usar los operadores de E/S de C++,
se debe incluir en el programa el archivo
de cabecera iostream.h.
Ejemplo 1: (ver EjemploP1-1)

Este programa muestra una cadena, dos valores enteros y un valor real doble:
#include "StdAfx.h"
#include <iostream>
using std::cout;
using std::cin;
using std::endl;
int main() {
int i, j;
double d;
char ch;
i = 10; j = 20; d = 99.101;
cout << "estos son algunos valores: ";
cout << i;
cout << ' ';
cout << j;
cout << ' ';
cout << d;
cin >> ch;
return 0;
}
Ejemplo 2: (ver EjemploP1-2)

Este programa muestra una forma más eficiente del ejemplo 1:
#include "StdAfx.h"
#include <iostream>
using std::cout;
using std::cin;
using std::endl;
int main() {
int i, j;
double d;
char ch;
i = 10; j = 20; d = 99.101;
cout << "estos son algunos valores: ";
cout << i << ' ' << j << ' ' << d;
cin >> ch;
return 0;
}
Ejemplo 3: (ver EjemploP1-3)

Este programa pide al usuario un valor entero:
#include "StdAfx.h"
#include <iostream>
using std::cout;
using std::cin;
using std::endl;
int main() {
int i;
char ch;
cout << "Introduzca un valor: ";
cin >> i;
cout << "Este es su número: " << i <<"\n";
cin >> ch;
return 0;
}
Ejemplo 4: (ver EjemploP1-4)

Este programa pide al usuario un valor entero, un valor real y una cadena:
#include "StdAfx.h"
#include <iostream>
#include <stdio.h>
using std::cout;
using std::cin;
using std::endl;
int main() {
int i; float f; char s[80]; char ch;
cout << "Introduzca un entero, un real y una cadena: ";
cin >> i >> f >> s;
cout << "Estos son sus datos: ";
cout << i << ' ' << f << ' ' << s;
flushall();
cin >> ch;
}
Ejemplo 5: (ver EjemploP1-5)
#include "StdAfx.h"
#include <iostream>
#include <stdio.h>
using std::cout;
using std::cin;
using std::endl;
int main() {
int i; float f; char s[80]; char ch;
cout << "Introduzca un entero, un real y una cadena: ";
cin >> i >> f;
flushall();
cin.getline(s,79);
cout << "Estos son sus datos: ";
cout << i << ' ' << f << ' ' << s;
flushall();
cin >> ch;
}
Descargar