Uncategorized

Programando en C: Entrada de información en un programa

Capítulo 7: Entrada de información en un programa

Anteriormente hemos aprendido como extraer información del programa, y mostrarla al ser humano, de momento en la consola, y mediante la instrucción printf.

También hemos aprendido anteriormente que un programa no es más que una serie de operaciones realizadas sobre unos datos de partida, y que ofrecen un resultado en base a cálculos realizados sobre esos datos.

Así que sabemos cómo extraer datos en la pantalla, y pronto aprenderemos cómo realizar cálculos dentro del propio programa. Pero, ¿como podemos permitir al usuario introducir información?

Existen varias formas de permitir que un usuario introduzca información dentro de una aplicación informática.

En el caso del lenguaje que nos ocupa en esta publicación, la instrucción más frecuente para permitir esta entrada, forma parte de la misma librería de entrada y de salida que nos permite escribir texto en la consola.

Usaremos las siguiente instrucción, dentro de este programa de ejemplo, de forma de forma que:

main.c
#include <stdio.h>
int main(int argc, char *argv[]) {    printf(«Introduce una tecla»);    char seleccion = getchar();    printf(«El caracter que has cogido es: %c \n»,seleccion); return 0;}

Cuando ejecutamos el programa, comprobamos como la ejecución queda detenida en ese punto concreto del programa, esperando a que el usuario introduzca una letra, una palabra, o una línea dentro de la consola.

Debemos tener en cuenta que, según la tipificación de los datos que hemos introducido, ahora mismo, solo se estaría atrapando la primera letra de toda la cadena que hemos introducido.

 Sin embargo, también podemos modificar el programa para que admita una matriz de cadenas, y de esta forma, que nos permita leer varios caracteres de la línea.

En este código de ejemplo que se muestra a continuación, podemos observar como, al ejecutarlo, no solo se está obteniendo el primer carácter de la cadena introducida, sino que se está obteniendo toda la cadena en sí misma, hasta el límite de caracteres especificado en la matriz.

main.c
#include <stdio.h>
int main(int argc, char *argv[]) {    printf(«Introduce una tecla \n»);    char palabra[100];    scanf(«%s»,palabra);    printf(«La palabra introducida es: %s \n»,palabra); return 0;}

Por último, en el siguiente programa, realizamos una demostración para comprobar que somos capaces de pedirle al usuario una entrada, almacenarla en una variable, y devolverla en la consola.

main.c
#include <stdio.h>
int main(int argc, char *argv[]) {    printf(«Introduce una tecla \n»);    char palabra[100];    scanf(«%s»,palabra);    printf(«La palabra introducida es: %s \n»,palabra); return 0;}

Evidentemente, más adelante, en las siguientes unidades, vamos a visualizar cómo, al haber atrapado esa información en una variable, podremos realizar operaciones de validación, para que el usuario, a través de esa entrada, pueda controlar el flujo de la información a lo largo de la aplicación

Aplicandolo sobre el ejercicio del curso:

En la versión anterior del ejercicio continuo de la publicación, nos habíamos quedado declarando una variable que, más adelante, almacenaría la opción que elige el usuario en cada una de las situaciones de ejecución del programa.

Así que, como aplicación práctica del ejercicio que desarrollamos a lo largo del curso, podremos comprobar que ahora a la variable opción, se le asignó una instrucción para capturar la entrada del usuario.

Por último, se introduce, de momento, a efectos de comprobar que el programa funciona correctamente, una instrucción de impresión en pantalla que simplemente se encarga de decir cuál es la opción escogida, simplemente para asegurarnos que se está recogiendo correctamente la instrucción, para, más adelante, a medida que vayamos cubriendo las siguientes unidades didácticas, poder actuar de una forma u otra en base a la elección que el usuario final realice.

agenda.c
/* Programa agendapor Jose Vicente Carratala */#include <stdio.h>#define NOMBREPROGRAMA «Programa agenda»#define VERSION «1.0»#define AUTOR «Jose Vicente Carratala»
int main(int argc, char *argv[]) {    // Mensaje de bienvenida printf(«%s v%s \n»,NOMBREPROGRAMA,VERSION); printf(«%s \n»,AUTOR); printf(«\t 1 – Listado de registros \n»); printf(«\t 2 – Introducir un registro \n»); printf(«\t 3 – Eliminar un registro \n»); printf(«\t 4 – Buscar un registro \n»); printf(«\t 5 – Actualizar un registro \n»); printf(«Tu opcion: «); char opcion = getchar(); printf(«La opción que has seleccionado es: %c \n»,opcion); return 0;}

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *