Entendido.

Este sitio utiliza cookies para analizar la navegación.Si continúa navegando se entiende que acepta su uso. Ver más detalles.

Logo

Aprende Web C++

Aprende a programar en C++ con Aprende-Web

Nociones Básicas

programación en C++ desde cero.


Buscar en Aprende Web

Traducir página

Visita nuestro blog:

bolg.aprende-web.net

y entérate de las novedades o deja un comentario.

Dudas y sugerencias:

aprendeweb@aprende-web.net



Sobre ésta página

Ültima modificación: 13-07-2018.

Visitas este mes: 552

Visitas el mes pasado: 779

logo
WEB-GRAFÍA

Mi agradecimiento a los siguientes sitios en los que me he basado para la elaboración de los manuales.:

cplusplus.com
Sitio oficial de C++: Informacion, Referencias, Tutorial, Foro. (En inglés)
Minidosis.org
Curso de C++ con videos y lecturas.
conclase.net
Curso de C++
programar ya
Curso de C++ desde cero
cprogramming.com
C++ Tutorial (inglés).
Entorno de desarrollo integrado
fergarciac.wordpress.com
Compiladores, intérpretes y Máquinas virtuales.
latecladeescape.com
el hacker.net
Programación
Desarrollo web
Manual de iniciación a la programación.

En los distintos manuales incluimosm más webgrafía especifica de cada sección.


Donativos

Si este sitio te parece interesante puedes contribuir con una pequeña aportación.





2. Instrucciones básicas

2.3. Entrada de datos

Canal de Entrada

Logo C++ Basico

Página 2-3.

La entrada de datos consiste en recoger datos para incorporarlos al programa. Es decir, una serie de datos externos se recogen, y entran a formar parte del programa. La forma de recoger los datos que veremos aquí, es hacer que éstos nos los proporcione el usuario.

Para eso al escribir el código fuente indicamos que el programa debe pararse y esperar a que el usuario introduzca un dato. una vez introducido el dato, el programa debe ser capaz de recogerlo, y seguir con el resto de instrucciones.

Otras formas de recoger datos sería extraerlos de un fichero o de una base de datos, e incorporarlos al programa, pero esto es algo más complicado, por lo que de momento veremos cómo incorporar los datos que nos proporciona directamente el usuario.


Instrucciones de entrada

Par poder recoger un dato, lo primero que tenemos que tener es un recipiente o contenedor en donde guardar el dato, y esto lo conseguimos con una variable. Por lo tanto lo primero que debemos hacer es declarar una variable.

Vamos a poner un ejemplo, en el que pedimos al usuario su nombre, y después lo sacamos en pantalla. lo primero que haremos será declarar una variable de tipo string:

string nombre;

Tal como hemos explicado en páginas anteriores, tanto esta sentencia como las siguientes las pondremos siempre dentro de la función int main().

Aquí hemos declarado una variable de tipo "texto" (string), pero no la hemos inicializado, es decir al crearla no le hemos dado un valor. En esta variable guardaremos el dato que nos proporcione el usuario.

El siguiente paso es pedirle al usuario que nos proporcione el dato, es decir, que nos diga su nombre. Esto, siguiendo nuestro ejemplo, lo pondremos con el siguiente código:

cin >> nombre;

Cuando el programa llega a este punto se para y espera que el usuario escriba con el teclado algo, y que una vez que lo ha escrito pulse la tecla "Enter".

Una vez que el usuario ha pulsado la tecla "Enter", el dato que ha introducido el usuario, es decir, el nombre, es guardado como el valor de la variable nombre.

Analicemos un momento el código. Así como la instrucción cout indica que vamos a sacar algo en pantalla , cin de C (lenguaje c) y in (dentro en inglés), indica que recogemos algo de la pantalla.

Los dos signos de >> (menor que) indican que va a haber una entrada de datos. Recordemos que para la salida de datos se ponen los signos << (mayor que), es decir los signos contrarios.

Ahora para comprobar que el dato se ha guardado, lo sacaremos en pantalla, mediante una salida de datos, por lo que la siguiente línea podría ser:

cout << nombre << endl;

Como ya hemos visto la salida en pantalla en la página anterior, no debe tener ninguna dificultad entender este código.

Con las líneas que hemos puesto hasta ahora tenemos el siguiente programa:

1 2 3 4 5 6 7 8
#include<iostream>
using namespace std;

int main() {
    string nombre;
    cin >> nombre;
    cout << nombre << endl;
}

resultado programa

Si compilamos y ejecutamos este programa sale la consola de windows sin nada y esperando a que nosotros escribamos algo. Si escribimos un nombre y pulsamos después "Intro", el programa sigue, y escribira otra vez el nombre que le hemos dicho, para luego acabar.


Mejorar el programa

Aunque éste es un programa muy sencillo, podemos mejorarlo, incluyendo unas cuantas instrucciones de salida, que le digan al usuario que tiene que escribir un nombre, y después el programa le saluda con su nombre, Para ello modificamos el código fuente, el cual quedará así:

1 2 3 4 5 6 7 8 9 10
#include<iostream>
using namespace std;

int main() {
    cout << "Escribe tu nombre :" << endl;
    string nombre;
    cin >> nombre;
    cout << "Hola " << nombre
         << " encantado de conocerte." << endl;
}

Ahora al compilar y ejecutar el programa primero nos pregunta el nombre, y una vez que lo escribimos y pulsamos intro, nos saluda con nuestro nombre.

resultado programa

El programa ha mejorado respecto al del principio, ya que aquí le indicamos al usuario lo que tiene que hacer, es decir, introducir su nombre. Igualmente en la salida de datos añadimos un saludo, para que ésta resulte un poco más amable.


Algunos fallos ...

Sin embargo el programa tal vez no funcione exactamente igual que queremos. Mientras escribamos el nombre con una sola palabra el programa funciona perfectamente, pero si el nombre tiene dos palabras, sólo nos devolverá la primera.

Por ejemplo, si el nombre que ponemos es "Miguel Angel", sólo nos reconoce "Miguel", e ignora el resto de palabras.

Esto es así porque para la instrución cin, cuando encuentra un espacio interpreta que el dato que estamos introduciendo se ha acabado, y si viene algo después de este espacio se tratará de otro dato.

Más adelante, cuando tratemos el tema de las variables de tipo cadena (string), veremos cómo solucionar este problema, para que se puedan introducir varias palabras en un sólo dato de cadena.

Otro problema que tenemos es el de los acentos en los textos que sacamos en pantalla y la letra eñe. Por ejemplo, si escribimos la siguiente salida:

cout << "España cañí y olé" <<endl;

Al compilar y ejecutar nos dará una línea como esta :

Espa±a ca±Ý y olÚ

Si trabajamos con Linux este problema no lo tenemos, pero si estamos en Windows, el problema lo tendremos siempre.

Esto se debe a que los lenguajes de programación están hechos con el alfabeto inglés, el cual no tiene acentos, ni la eñe, ni otros símbolos. De momento procuraremos poner las palabras sin acentos, y sustituir la eñe por la "ñ" catalana ("ny").

Más adelante veremos cómo arreglar este problema.






En la siguente página empezaremos a ver qué tipos de variables podemos usar. Veremos en concreto los tipos que pueden guardar números.

Variables numéricas



Manual Básico de C++

Anterior siguiente ... Siguiente siguiente


imprimir esta página

Página creada por ANYELGUTI.

Sugerencias: aprendeweb@aprende-web.net. Envia un manda un correo

Visita nuestro blog par saber en qué estamos trabajando: Aprende Web Blog

Más sobre anyelguti en http://anyelguti.16mb.com