You are on page 1of 8

entrada y salida2

Salida estándar (cout)


Por defecto la salida estandar de un programa es la pantalla, y el objeto de flujo c++
definido para tener acceso a es ello es un cout.cout es usado conjuntamente con el
operador de inserción, que es escrito como <<( dos signos menor).
Cout <<”sentencia salida”,// imprime la sentenciado salida
Cout <<5 //imprime 5 en pantalla
Cout <<”x”; // imprime el contenido de x
El operador << inserta los datos que siguen en el flujo que lo precede. En los ejemplos
anteriores inserto la cadena de caracteres “sentencia de salida” , la constante numérica 5 y
la variable x en el flujo de salida estándar cout…. Note que la sentencia que la sentencia en
la primera instrucción está incluida entre (“) porque es una cadena de caracteres ejemplo:
#include<iostream>
using namespace std;
int main()
{
//delaracion de variables
string nombre;
int edad;
float estatura;
float peso;
string correo;
//solicitar datos
cout<<"Ingresa tu nombre: ";
cin>>nombre;
cout<<"Ingresa tu edad: ";
cin>>edad;
cout<<"Cuanto mides: ";
cin>>estatura;
cout<<"Cuanto pesas: ";
cin>>peso;
cout<<"Cuál es tu correo: ";
cin>>correo;
//mostrar datos
cout<<"Hola "<<nombre<<" como te va"<<endl;
cout<<"Tu edad es "<<edad<<" años"<<endl;
cout<<"Tu estatura es "<<estatura<<" m"<<endl;
cout<<"Tu peso es "<<peso<<" kg"<<endl;
cout<<"Tu correo es "<<correo<<endl;
cout<<(8<10)<<endl;
system("pause");
}
Entrada estándar (cin).
El manejo de entrada estándar en c++ es hecho aplicando al operador de extracción (>>)
sobre el flujo d3el cin. El operador ser seguido de la variable de los datos que almacenaran
los datos que van a ser extraídos del flujo. Por ejemplos:
Int edad;
Cin>> edad;
La primera declaración declara una variable de tipo int llamado edad, y el segundo espera la
entrada de cin (desde el teclado) para almacenarlo en esta variable de entera. Cin solo
puede procesar la entrada del teclado una vez que la entrada de la return haya sido
presionada. Por lo tanto, incluso si usted solicita un solo carácter, la extracción del cin no
tratara la entrada hasta que el usuario presione la tecla del return después que el carácter
haya sido ingresado.. Usted siempre debe considerar el tipo de la variable que estee
usando como un contenedor de las extracciones cin. Si usted solicita un número entero
deberá recibir un número entero, si usted solicita un carácter y si solicita una cadena de
caracteres usted deberá ingresar una cadena de caracteres ejemplo:

#include<iostream>
using namespace std;
int main()
{
//delaracion de variables
const float pi=3.1416;
float L, Radio;
//solicitar datos
cout<<"Ingresa el Radio: ";
cin>>Radio;
//efectuar operación
L=2*pi*Radio;
//mostrar datos
cout<<"La Longitud es "<<L<<endl;
system("pause");
}

Inicio Programación C / C++


ProgramaciónC / C++Introducción a la programación
Métodos de cin en c++
Por jesus limon - 4 December, 20177993 0

7 min de lectura
Métodos de cin en C++
La clase cin en C++ permite guardar en una variable lo que el usuario ingrese desde el input
estándar y tiene varios métodos para lograr la lectura y guardado.
El dato puede ser procesado para ser almacenado en los diferentes tipos que manejamos
comúnmente, así como; int, float, char, string o bool.

Métodos mas utilizados de cin en C++

cin.get()
cin. Ignore()
cin. getline()
cin.get()
Este método permite leer solo el primer caracter que ingresa el usuario cuando se le pide
ingresar una palabra y después mostrarlo en pantalla.

en este método solo es necesario declarar una variable tipo char.

1
2
3
4
5
6
7
8
9
10
#include <iostream> // libreria que permite entrada y salida de caracteres
using namespace std; // es para poder usar palabras reservadas
int main () // cuerpo del programa
{
char letra; //declaracion de variables en este caso (tipo char)
cout<<"anote una palabra cualquiera"<<endl; //muestra en pantalla lo que se preguntara
letra=cin.get(); //como se utiliza cin.get
cout<<"tu palabra empieza con la letra: "<<letra<<endl; //mostrar en pantalla los
resultados del programa
return 0; // finaliza programa
} //termina la ejecucion del programa
cin.ignore()
cin.ignore() se puede utilizar con 2 parametros o sin parámetros, uno lo utilizamos para la
cantidad de caracteres que vamos a ignorar y el otro para decir hasta que carácter va a
ignorar.

cin.ignore() se utiliza para ignorar lo que hay en el buffer y no salte la lectura de datos
cuando cambia de string a int.

cin.ignore(100,’n’) cuando se declara de esta forma va a ignorar hasta 100 caracteres o


hasta llegar a la letra ‘n’.
1
2
3
4
5
6
7
8
9
10
11
12
# include <iostream> // libreria que permite entrada y salida de caracteres
using namespace std; // es para poder usar palabras reservadas
int main () // cuerpo del programa
{
char palabra1, palabra2; //declaracion de variables (tipo char)
cout<<"anote dos palabras:"<<endl; //muestra en pantalla lo que se preguntara con salto
de linea
palabra1=cin.get(); //para tomar solo la primera inicial
cin.ignore(100,' '); // para ignorar hasta 100 caracteres e ignorara el caracter espacio
palabra2=cin.get(); //para tomar solo la primera inicial de la segunda palabra
cout<<"las iniciales de las palabras son: "<<palabra1<<" "<<palabra2; //resultado del
programa
return 0; //finaliza programa
} //termina la ejecucion del programa

cin.getline()
Este método nos deja leer strings en c++, y para poder hacer función de esto, se necesita
declarar una variable tipo “string”, y hay dos formas de poder leer los datos que el usuario
ingrese como las siguientes:

1
getline(cin, “nombre de la variable”, ´caracter delimitador´)
esta forma permite solo leer la cadena hasta el carácter que lo limita.

1
getline(cin,”nombre de la variable”)

Se puede usar también sin un carácter que delimite la cadena, y su acción será un salto de
línea por defecto.

1
2
3
4
5
6
7
8
9
10
11
# include <iostream> // libreria que permite entrada y salida de caracteres
using namespace std; // es para poder usar palabras reservadas
int main () // cuerpo del programa
{
string cadena; //declaracion de variable (tipo string)

cout<<"ingrese una palabra:"; //muestra en pantalla lo que se preguntara " "


getline(cin,cadena,'u'); //como se utiliza getline
cout<<"la cadena de tu palabra es:"<<cadena; //mostrar en pantalla los resultados del
programa
return 0;// finaliza programa
} //termina la ejecucion del programa
Inténtelo en su compilador para ver resultados.

Leer con cin en c++ sin los espacios


En C++ es posible leer datos separados por espacios en blanco o enter, por medio del
operador de extracción cin (>>).

Y si se quieren leer caracteres incluyendo los espacios en blanco o enter, se utiliza el


método de get.

Get extrae un carácter de cin y lo guarda como una variable. Si se extrae y es el fin del
fichero, se activa el indicador de fin de fichero. Si el buffer de entrada se encuentra vacío,
cuando el programa llega a la instrucción, se detiene en espera de teclear un caracter y
pulsar enter.

cin.get (carácter)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# include <iostream> // libreria que permite entrada y salida de caracteres

using namespace std; // es para poder usar palabras reservadas

int main () //cuerpo del programa


{
int numero; //variable tipo entero
char c; //variable tipo caracter

cout<<"escribe un numero entero:"; //muestra en pantalla lo que se preguntara " "


cin>>numero; //lo que el usuario ingresa
cout<<"en numero es:"<<((numero%2==0)? "par" : "impar")<<endl; //resultado de la
ejecucion
cout<<"introduce un caracter:"; // muestra en pantalla al usuario leer un caracter
cin.get(c); //utilizacion del metodo get
cout<<"el caracter " << ((c>='a' and c<='z')?"es":"no es"); //muestra resultado de la
pregunta
cout<<" una letra minuscula"<<endl; //complementa el resultado
return 0; //finaliza el programa
} //termina cuerpo del programa

El enter también se toma como un carácter ya que se lee como un flujo de entrada después
de introducir el entero, y para poder evitar que pase este problema se debe limpiar el buffer
con el método de ignore.

Limpiar el buffer con cin en C++ usando el método ignore


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# include <iostream> // libreria que permite entrada y salida de caracteres

using namespace std; // es para poder usar palabras reservadas

int main () //cuerpo del programa


{
int numero; //variable tipo entero
char c; //variable tipo caracter

cout<<"escribe un numero entero:"; //muestra en pantalla lo que se preguntara " "


cin>>numero; //lo que el usuario ingresa
cout<<"en numero es:"<<((numero%2==0)? "par" : "impar")<<endl; //resultado de la
ejecucion
//limpia el buffer
cin.ignore(numeric_limits<int>::max(),'\n'); //metodo para limpiar el buffer
cout<<"introduce un caracter:"; // muestra en pantalla al usuario leer un caracter
cin.get(c); //utilizacion del metodo get
cout<<"el caracter " << ((c>='a' and c<='z')?"es":"no es"); //muestra resultado de la
pregunta
cout<<" una letra minuscula"<<endl; //complementa el resultado
return 0; //finaliza el programa
} //termina cuerpo del programa

Leer con cin en c++ con los espacios


El operador de extracción sobre cin no sirve para leer cadenas de caracteres con espacios
en blanco. Para esto se utiliza el método getline.

cin.getline(cadena, número, carácter final)

Getline lee la serie de caracteres desde el flujo de entrada y los guarda en la variable
cadena. Se leen hasta el final del flujo, hasta el primer carácter que coincide con el carácter
final que se haya especificado. Getline añade el carácter nulo al final de la cadena de
manera automática.
El siguiente programa muestra la diferencia al leer cadenas de caracteres con y sin el
método de getline:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# include <iostream> // libreria que permite entrada y salida de caracteres
using namespace std; // es para poder usar palabras reservadas

int main () // cuerpo del programa


{
char nombre[40]; //declaracion de variable (tipo char)

cout<<"cual es tu nombre completo?: "; //muestra en pantalla lo que se preguntara " "
cin.getline(nombre,40); //utilizacion del getline
cout<<"saludos! "<<nombre<<endl; //muestra en pantalla lo que se preguntara " " junto
con nombre
cout<<"cual es tu nombre completo?: "<<endl; //pedir nombre pero sin espacios
cin>>nombre; //ingresar el nombre
cout<<"saludos! "<<nombre; //muestra en pantalla lo que se preguntara " " junto con
nombre
return 0; //termina programa
} //termina cuerpo del programa

You might also like