elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Uso de cin con arreglos
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Uso de cin con arreglos  (Leído 3,061 veces)
Raiden

Desconectado Desconectado

Mensajes: 25



Ver Perfil
Uso de cin con arreglos
« en: 20 Enero 2022, 21:09 pm »

Hola, tengo una pregunta que no pude encontrar en el foro ni en otros papers, sobre el uso de cin en arreglos tal ves alguien me pueda ayudar, Por que en el codigo de ejemplo descrito abajo cuando ejecuto no se detiene el programa en el segundo cin?
Tengo entendido que cuando aplica cin el programa se detiene para poder leer la info que se envia a traves del teclado. En este caso en el primer CIN se detiene y puedo insertar en cadena1 lo que pongo con el teclado (en este caso "hola todos" ) pero en el segundo el programa pasa de largo y y luego imprime "todos". Por que imprime "todos", no deberia pausarse para una nueva "reinicializacion" del arreglo? Por otro lado si saco el 2do "cin>>cadena1;" del codigo y lo ejecuto imprime "hola" en ves de "todos". Alguien sabe porq esta actuando asi CIN.
Gracias por leer. :)






Código:
#include <iostream>
#include <iomanip>
using namespace std;
main()
{
    char cadena1[20];
    char cadena2[]="literal de cadena";
   
    cout<<"Escriba la cadena \"hola todos\": ";
    cin>>cadena1;
   
    cout<<"cadena1 es: "<<cadena1<<"\ncadena2 es: "<<cadena2;
 
   
   
   
    cin>>cadena1;
    cout<<"\ncadena1 es: "<<cadena1<<endl;
   
    system("pause");
    return 0;
   
}


Raidenn


En línea

EdePC
Moderador Global
***
Desconectado Desconectado

Mensajes: 2.042



Ver Perfil
Re: Uso de cin con arreglos
« Respuesta #1 en: 21 Enero 2022, 01:20 am »

Saludos,

Explicación superficial: cin solo lee "hasta" encontrar un espacio en blanco o salto de línea (Enter), y dependiendo del tipo de variable solo recogerá el tipo de dato adecuado. Lo demás que se queda en el "buffer" (memoria) y otro cin leerá de dicho buffer si hay datos ahí, sino los leerá lo que introduzca el usuario.

Recomiendo leas las páginas 27 y 28 de este libro para que lo leas con más detalle:

Fundamentos de Programación con Lenguaje de Programación C++ (Vicente Benjumea y Manuel Roldán, Universidad de Málaga, 2017).pdf
https://mega.nz/file/twZ2UL7C#zevfT6T_3bjQiqOIcv0MjOAKvcSP_OOvhKNip2ZnVTg

Luego échale un par de ojos a las páginas 56 al 59 para profundizar todavía más en estas cosas y ver que alternativas pueden acomodarse mejor


En línea

Raiden

Desconectado Desconectado

Mensajes: 25



Ver Perfil
Re: Uso de cin con arreglos
« Respuesta #2 en: 21 Enero 2022, 14:08 pm »

Gracias por responder, ahora lo pude entender mejor. Mas adelante seguramente avanzare en este topico.
Hasta la proxima
saludos  :D
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
con arreglos
Java
artang 0 2,131 Último mensaje 31 Marzo 2009, 04:54 am
por artang
arreglos en c
Programación C/C++
arodriguez98 5 2,278 Último mensaje 4 Diciembre 2014, 23:20 pm
por fary
Arreglos
Programación C/C++
angeljonh 4 2,082 Último mensaje 20 Agosto 2017, 18:16 pm
por angeljonh
Arreglos
Programación C/C++
angeljonh 1 1,468 Último mensaje 23 Agosto 2017, 07:10 am
por angeljonh
ARREGLOS
Java
padiuwu 1 1,723 Último mensaje 7 Febrero 2019, 03:06 am
por EdePC
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines