Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: Raiden en 20 Enero 2022, 21:09 pm



Título: Uso de cin con arreglos
Publicado por: Raiden 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


Título: Re: Uso de cin con arreglos
Publicado por: EdePC 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


Título: Re: Uso de cin con arreglos
Publicado por: Raiden 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