No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

No se trata de lo que quieres comprar, sino de quién quieres ser. Invierte en tu educación con el precio especial

Antes: $249

Currency
$209

Paga en 4 cuotas sin intereses

Paga en 4 cuotas sin intereses
Suscríbete

Termina en:

12 Días
4 Hrs
45 Min
53 Seg
Curso de C++ Básico

Curso de C++ Básico

Diana Martínez

Diana Martínez

Entrada y salida de datos

11/18
Recursos

Aportes 14

Preguntas 1

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

La libreria iostream


Su nombre completo es Input/Output Stream y su función es manejar el flujo de entrada-salida de datos.
.

cout 🤝 cin:

  • cout: Flujo de salida, usada para imprimir datos en la pantalla.
  • cin: Flujo de entrada, usada para ingresar datos al programa, una de las tantas maneras de hacerlo es con el teclado.

Operadores de direccionamiento

.
Son los encargador de comunicar la o las fuentes de información (Por ejemplo, una variable o constante) con el objeto, en este caso, cout o cin. Los operadores de direccionamiento esta conformado por el signo de mayor (>), que sería para la entrada de datos y el signo de menor que (<), para la salida de datos.

int main() {

	int edad = 0;

	cout << "Edad: ";

	cin >> edad;

	cout << "Tu edad es: " << edad << endl;
	
}

Aprovechando que estamos hablando de Datos de Entrada y Salida… Hablemos de Secuencias de escape

¿Qué son los Secuencias de Escape?

Las secuencias de escape se utilizan para definir ciertos caracteres especiales dentro de cadenas de texto.
Ahora dejare una tabla con algunas de ellas:

Les comparto un pequeño codigo que hice para ver las tablas de multiplicacion con algunas de las coas que hemos aprendido.

En la terminal y línea de comandos, los símbolos:

  • “<” Redirecciona la entrada de un comando con el contenido de un archivo
  • “>” Redirecciona la salida de un comando a un archivo. Si el archivo no existe lo crea, si existe lo sobreescribe
  • “>>” Redirecciona la salida de un comando a un archivo. Si el archivo no existe lo crea, si existe lo concatena al final.
#include <iostream>
#include <ctime>
#include <sstream>
#include <cstdlib>

using namespace std;

int main ()
{
        int edad = 0;
        int fechaNacimiento = 0;

        //obtener año actual
        time_t t = time(NULL);
        tm* timePtr = localtime(&t);
        stringstream anio;
        anio << timePtr->tm_year+1900;
        string anioActual = anio.str();

        cout << "Ingresa tu año de naciomiento (yyyy):\n";
        cin >> fechaNacimiento;

        edad = stoi(anioActual) - fechaNacimiento;


        cout << "Tu edad es: " << edad << endl;
        return 0;
}
~                                                                                                                       "io.cpp" 28L, 497C
cin >> variable; 

Lee del teclado hasta que encuentra un espacio en blanco, tabulador o nueva linea, o sea una palabra a la vez.
Si ingresamos: 1234 hola
se guarda solamente 1234 en la variable, por lo que para leer el “hola” habría que usar una variable adicional como en

cin >> numero >> texto;

Las variables deben ser del tipo string o bien coincidir con los tipos de datos ingresados.

La biblioteca iostream
Por regla general, un programa tiene utilidad práctica si:

acepta datos de entrada, para su posterior procesamiento

proporciona una salida de resultados, para ser reutilizados por el usuario u otro programa

La forma más elemental de proporcionar datos es vía teclado y, de mostrarlos, es utilizando una terminal o consola, interfaz gráfica que muestra únicamente caracteres alfanuméricos.

C++ proporciona estos recursos básicos a través de la biblioteca de entrada/salida iostream. Esta biblioteca forma parte de la biblioteca estándar de C++.

Para informar al compilador de que deseamos utilizar alguna de las funcionalidades de la biblioteca iostream, es necesario incluir su archivo de cabecera (header file) asociado, típicamente al principio del archivo:

#include <iostream>
La biblioteca estándar y el espacio de nombres std
Todas las funcionalidades de la biblioteca estándar y, por tanto, las de iostream, se encuentran englobadas dentro de un espacio de nombres (namespace) denominado std.

Los espacios de nombres proporcionan un ámbito único a un grupo de identificadores.

permiten organizar el código en grupos lógicos.

evitan conflictos de nombres que pueden producirse cuando el programa utiliza varias bibliotecas.

Las colisiones entre identificadores es un grave problema que surge cuando los programas empiezan a tener un considerable número de líneas de código y se utilizan ficheros creados por diferentes programadores y/o procedentes de diversas bibliotecas.

Para poder usar cualquiera de los identificadores perteneciente a un espacio de nombres debemos utilizar el espacio de nombres seguido del operador de resolución de ámbito, ::.

Les dejo el código que recibe su nombre, país y edad, y luego lo imprime en la consola.

#include<iostream>
#include<string>
using namespace std; 

int main(){
    int age;
    string country;
    string name;
    
    cout << "Nombre: ";
    getline(cin,name);
    cout << "Pais: ";
    getline(cin,country);
    cout << "Edad: ";
    cin >> age;

    cout << "Hola, soy " << name << " de " << country << " y tengo " << age << endl;
} 

Les dejo el código:

#include <iostream>

using namespace std;

int main() {
  // Commentarys as in Javascript
  cout << "Enter your age: ";
  int age;
  cin >> age;
  cout << "Your age is: " << age << endl;
}
y como seria en el caso de entrada de cadenas de texto como nombre y luego que imprima en pantalla el nombre que ingrese
```js #include <iostream> using namespace std; int main(){ int nacimiento = 0; int fecha = 2023; cout << "Cual es tu año de nacimiento: "; cin >> nacimiento; int edad = fecha - nacimiento; cout << "Tu edad es: " << edad; } ```#include \<iostream> using namespace std; int main(){ int nacimiento = 0; int fecha = 2023; cout << "Cual es tu año de nacimiento: "; cin >> nacimiento; int edad = fecha - nacimiento; cout << "Tu edad es: " << edad; }

Entrada y salida de datos

Como ya hemos visto, por norma general siempre usamos la libreraria iostream, la cual nos permite la entrada y salida de datos. Iostream significa Input Output Stream, es decir, entrada y salida del stream, stream se refiere a un flujo de datos.

La libreria iostream tiene 2 principales funcionalidades:

  1. cout << cadena :
    “cout” indica que es una salida(out) de datos por consola
    "<<" indica que se mandan los datos a consola
    "cadena" es el dato a imprimir

  2. cin >> variable :
    “cin” indica que es una entrada(in) de datos
    ">>" indica que el dato a ingresar se guardará en la variable
    "variable" indica el identificador de donde se guardará la variable en memoria

Ejemplo de uso:

//Introducir edad y luego mostrarla en pantalla

#include <iostream>
using namespace std;

int main() {

    int edad;
    cout << "Edad: ";
    cin >> edad;
    cout << "Tu edad es: " << edad;

}

Entrada y salida de datos el uso de la librería “iostream” permite en manejo la entrada y salida de los datos por medio de stream que es como un flujo de datos que van moviendo se como un flujo de información o datos que se mueven, librería nos da la capacidad de stremear datos atreves de una entrada y salida de nuestra terminal de comandos a nivel de texto, tambien nos permite a una librería hermana para el manejo de streams con files ejemplo de audio o video. De esta manera el sistema operativo se comunica con nuestro programa en C++ > recibe los datos , y de esta manera se pueden mostrar en pantalla a través de la terminal

Tiene dos principales funcionalidades
la primera es cout << representan un operador que esta escrito para que iostream lo utiliza como una forma de entrada de datos hacia la terminal, lo que le digo a la computadora toma cada letra que este entre la comillas doble “Hola mundo” velas mandando hacia la salida de la terminal de comandos que lo haría primero es tomar la letra H y mostrarla luego la o …. secuencial mente de esta forma estamos stremeando la cadena hacia la terminal.
Así como existe cout existe cin, la única diferencia es que los simbolos son de >> mayor que como un tipo de flechita que nos indica la dirección en la que el stream sucede

¿Qué podemos hacer con los datos de entrada?

Podemos almacenarlos en una variable para despues hacer algo con ellos.

#include <iostream>
using namespace std;

int main(){
    int age = 0; //inicializar la variable en 0
    cout << "Introduce tu edad: ";
    //Ahora que la variable age existe podemos asignarle nuevos valores utilizando cin
    cin >> age; //Lo que va a suceder es que la terminal de comandos va a recibir el dato, el sistema operativo se lo va a stremear a nuestro programa y va a recibirlo en nuestro programar para tenerlo ahora en su propia memoria
    /*¿Como yo se que realmente se introduce una edad correcta?
    Podemos hacer un feeedback al usuario, de forma que pueda se muestre la edad que introdujó anteriormente  */
    cout << "Tu edad es: " << age << endl;
    
}

IMPORTANTE: La forma en la que define como va almacenar los datos depende del tipo de dato de la variable que se haya creado.

Si se creo una variable de tipo int va asumir que se trata de un numero, por lo tanto si tomáramos la edad y quisiéramos hacer operaciones aritméticas con ellas podríamos hacerlo. En todo caso de un tipo char no se podría realizar operaciones que solo le corresponden ha números.

Esta es la forma en la que C++ va ha saber como manejar los valores que se introdujeron a través de cin.

¿Cómo comentar en C++?

  • Con las dobles //
  • Tambien con /Aqui insertar texto comentario/

Yo realicé esto con lo que llevo viendo, es una calculadora de capital final, de un interés simples (Use eso porque era la formula que tenía a mano).

#include <iostream>

using namespace std;

int main() {
    double c,i,t,cf;
    
    cout<<"Ingresa tu capital: ";
    cin>>c;
    
    cout<<"Ingresa la tasa de interes sin el signo (%): ";
    cin>>i;
    
    cout<<"Ingresa el tiempo: ";
    cin>>t;
    
    cf=c*(1+((i/100)*t));
    cout<<"Tu capital final seria de: "<<cf;
}