No tienes acceso a esta clase

隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera

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 12

Preguntas 1

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

o inicia sesi贸n.

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

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;
} 

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:

#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;
}
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 鈥渉ola鈥 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.

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 :
    鈥渃out鈥 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 :
    鈥渃in鈥 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 鈥渋ostream鈥 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 鈥淗ola 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;
}