En C, para mostrar información por pantalla hacíamos uso de funciones como puts(), putchar() o printf() si queríamos mostrar información con formato. Y para la entrada de datos, usamos, mayormente scanf().
En C++ disponemos de los flujos de entrada/salida estándar
- cout y el operador <<
- cin y el operador >>
Ejemplo 1.-
//Muestra por pantalla un mensaje de bienvenida al usuario.
#include <iostream>
using namespace std;
int main(void)
{
cout << "Bienvenido a la programación en C++"<<endl;
return 0;
}
Ejemplo 2.-
//Pide al usuario su nombre y lo muestra por pantalla junto al mensaje de bienvenida
#include <iostream>
using namespace std;
int main(void)
{
string nombre;
cout<<"Escriba su nombre"<<endl;
cin >> nombre;
cout <<"Bienvenido al lenguaje C++ "<<nombre<<endl;
return 0;
}
cout y cin facilitan la entrada y salida de datos con formato. Mientras que en C hay que estar pendiente al tipo de dato que se quiere imprimir y utilizar cadenas de formato adecuadas, C++ no.
Si no se incluye using namespace std, a cout, cin y endl hay que precederlos con std::
Ejemplo 3.-
//Pide al usuario su edad y nombre y lo muestra por pantalla junto al mensaje de bienvenida
#include <iostream>
int main(void)
{
string nombre;
int edad;
int edad;
std::cout<<"Escriba su nombre"<<std::endl;
std::cin >> nombre;
std::cout <<"Escriba su edad"<<std::endl:
std::cin >> edad;
std::cout <<"Escriba su edad"<<std::endl:
std::cin >> edad;
std::cout <<"Bienvenido "<<nombre<<" tienes "<<edad<<" años"<<std::endl;
return 0;
}
>> elimina los espacios en blanco al principio de la entrada de datos, y lee datos hasta que encuentre algún carácter de espacio en blanco. Se consideran espacios en blanco a:
- ' ' espacio en blanco
- '\t', '\v', '\f' tabuladores
- '\r' retorno de carro
- '\n' nueva línea.
Para eliminar los carácteres que pudiera contener el buffer, después de una operación de lectura de datos, usaremos la función ignore.
Ej.-
cin >> nombre;
cout<<"Hola << nombre << endl;
.
.
.
cin.ignore(1000,'\n');
.
.
ignore elimina del buffer de entrada el número de caracteres especificado en el primer parámetro o hasta el carácter especificado en el segundo parámetro.