Vous êtes sur la page 1sur 1

Acerca de

michelle torres
Blog de desarrollo web, tecnología, software libre y otras cosas.

Inicio Programación C / C++ Métodos de cin en c++

Programación C / C++ Introducción a la programación

Métodos de cin en c++


Por jesus limon - 4 December, 2017 10549 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 #include <iostream> // libreria que permite entrada y salida de caracte


res
2 using namespace std; // es para poder usar palabras reservadas
3 int main () // cuerpo del programa
4 {
5 char letra; //declaracion de variables en este caso (tipo char)
6 cout<<"anote una palabra cualquiera"<<endl; //muestra en pantalla lo
que se preguntara
7 letra=cin.get(); //como se utiliza cin.get
8 cout<<"tu palabra empieza con la letra: "<<letra<<endl; //mostrar en
pantalla los resultados del programa
9 return 0; // finaliza programa
10 } //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 # include <iostream> // libreria que permite entrada y salida de caract


eres
2 using namespace std; // es para poder usar palabras reservadas
3 int main () // cuerpo del programa
4 {
5 char palabra1, palabra2; //declaracion de variables (tipo char)
6 cout<<"anote dos palabras:"<<endl; //muestra en pantalla lo que se p
reguntara con salto de linea
7 palabra1=cin.get(); //para tomar solo la primera inicial
8 cin.ignore(100,' '); // para ignorar hasta 100 caracteres e ignorara
el caracter espacio
9 palabra2=cin.get(); //para tomar solo la primera inicial de la segu
nda palabra
10 cout<<"las iniciales de las palabras son: "<<palabra1<<" "<<palabra2
; //resultado del programa
11 return 0; //finaliza programa
12 } //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´)


1.

esta forma permite solo leer la cadena hasta el carácter que lo limita.

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

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 # include <iostream> // libreria que permite entrada y salida de caracte


res
2 using namespace std; // es para poder usar palabras reservadas
3 int main () // cuerpo del programa
4 {
5 string cadena; //declaracion de variable (tipo string)
6
7 cout<<"ingrese una palabra:"; //muestra en pantalla lo que se pregun
tara " "
8 getline(cin,cadena,'u'); //como se utiliza getline
9 cout<<"la cadena de tu palabra es:"<<cadena; //mostrar en pantalla l
os resultados del programa
10 return 0;// finaliza programa
11 } //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 # include <iostream> // libreria que permite entrada y salida de caracte


res
2
3 using namespace std; // es para poder usar palabras reservadas
4
5 int main () //cuerpo del programa
6 {
7 int numero; //variable tipo entero
8 char c; //variable tipo caracter
9
10 cout<<"escribe un numero entero:"; //muestra en pantalla lo que se p
reguntara " "
11 cin>>numero; //lo que el usuario ingresa
12 cout<<"en numero es:"<<((numero%2==0)? "par" : "impar")<<endl; //res
ultado de la ejecucion
13 cout<<"introduce un caracter:"; // muestra en pantalla al usuario le
er un caracter
14 cin.get(c); //utilizacion del metodo get
15 cout<<"el caracter " << ((c>='a' and c<='z')?"es":"no es"); //muest
ra resultado de la pregunta
16 cout<<" una letra minuscula"<<endl; //complementa el resultado
17 return 0; //finaliza el programa
18 } //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 # include <iostream> // libreria que permite entrada y salida de caracte


res
2
3 using namespace std; // es para poder usar palabras reservadas
4
5 int main () //cuerpo del programa
6 {
7 int numero; //variable tipo entero
8 char c; //variable tipo caracter
9
10 cout<<"escribe un numero entero:"; //muestra en pantalla lo que se p
reguntara " "
11 cin>>numero; //lo que el usuario ingresa
12 cout<<"en numero es:"<<((numero%2==0)? "par" : "impar")<<endl; //res
ultado de la ejecucion
13 //limpia el buffer
14 cin.ignore(numeric_limits<int>::max(),'\n'); //metodo para limpiar e
l buffer
15 cout<<"introduce un caracter:"; // muestra en pantalla al usuario le
er un caracter
16 cin.get(c); //utilizacion del metodo get
17 cout<<"el caracter " << ((c>='a' and c<='z')?"es":"no es"); //muest
ra resultado de la pregunta
18 cout<<" una letra minuscula"<<endl; //complementa el resultado
19 return 0; //finaliza el programa
20 } //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 # include <iostream> // libreria que permite entrada y salida de caracte


res
2 using namespace std; // es para poder usar palabras reservadas
3
4 int main () // cuerpo del programa
5 {
6 char nombre[40]; //declaracion de variable (tipo char)
7
8 cout<<"cual es tu nombre completo?: "; //muestra en pantalla lo que
se preguntara " "
9 cin.getline(nombre,40); //utilizacion del getline
10 cout<<"saludos! "<<nombre<<endl; //muestra en pantalla lo que se pr
eguntara " " junto con nombre
11 cout<<"cual es tu nombre completo?: "<<endl; //pedir nombre pero sin
espacios
12 cin>>nombre; //ingresar el nombre
13 cout<<"saludos! "<<nombre; //muestra en pantalla lo que se preg
untara " " junto con nombre
14 return 0; //termina programa
15 } //termina cuerpo del programa

Like this:

Like
Be the first to like this.

Me gusta 0

Facebook Twitter Linkedin Telegram

jesus limon
egresado de la carrera tecnica el electricidad industrial del politecnico de guadalajara,
actualmente cursando la carrera en ingienieria en comunicaciones y electronica, aparte del
estudio trabajo y soy independiente.

ARTÍCULOS RELACIONADOS MÁS DEL AUTOR

Introducción a la
Programación Programación C / C++ Programación programación

Filtrar una lista con Crear un entorno Acentos en C++ Aprende Python 3.7 – ¿Por qué cuando
Python virtual en Python Python tutorial sumas números
decimales no son
exactos? El estándar
IEEE 754 para
decimales

Introducción a la
Aplicaciones Programación C / C++ programación C / C++

Sublime y sus Edición a nivel de Arreglos Python no utiliza Diferencia entre


shortcuts bytes hexadecimal bidimensionales en switch arreglos numéricos y
C++ arreglos de caracteres
en C++

Deja tus comentarios

This site uses Akismet to reduce spam. Learn how your comment data is processed.

LOS MAS VISTOS ¿ME INVITAS UN CAFÉ? TEMÁTICAS

Listas desplegables en los Si te gusta lo que lees aquí y Arrays arreglos bootstrap
quieres colaborar, acepto
formularios HTML
donaciones desde $1 c++ cadenas calc

Operador Aritmético
Invítame un cafe
css css3 debian debug

Módulo o Residuo Deploy divec fest

ensamblador facebook
Padres, hijos y hermanos

en jQuery
formularios FSL git
GitHub gnome google inc
Peticiones HTTP ( GET,

POST, PUT, DELETE,


html html5 java
ETC) javascript jQuery
js linux mysql nodejs
Programa para el cálculo
npm nube omijal
de la Hipotenusa de un
Operadores
triángulo rectángulo en

C++ parametros por referencia php


programacion
programacion
web
python React seguridad

software libre Tags

ubuntu web wordpress

SOBRE ESTE BLOG SÍGUEME


michelle torres
Blog de desarrollo web, tecnología, software
libre y otras cosas.

Contáctame: hola@michelletorres.mx

© 2013 michelle torres Acerca de

Vous aimerez peut-être aussi