ENTRADA DE DATOS


En lenguaje C se emplea una función para lectura de datos que nos permite incluir las facilidades necesarias para enviar datos a la computadora. Una función u orden de lectura menciona especificaciones de campo que indican como leer los valores que corresponden a las variables involucradas en la entrada de la información.

LECTURA DE VALORES POR TECLADO [ FUNCIóN scanf(); ]
scanf("especificaciones de formato",APUNTADORES DE LAS VARIABLES);

 
Esta función direcciona automáticamente la lectura de valores por el teclado de la microcomputadora.

Las especificaciones de formato van precedidas de un signo % y a continuación alguna de las opciones siguientes:

  1. Opcionalmente para las cantidades, el tamaño mínimo del dato a leer, especificando el total de digitos fraccionarios en caso de que los haya, a continuación un caracer que indica el tipo de dato (entero, flotante o de cadena). Las especificaciones de campo más empleadas son:
%c Para leer un caracter único
%d Para leer un entero en base diez
%e Para leer una cantidad exponencial de base 10 (punto flotante)
%f Para leer una catidad real de base 10 (punto flotante)
%h Para leer un entero corto
%i Para leer un entero en base 10
%o Para leer una cantidad en base 8
%s Para leer una cadena
%x Para leer una catidad hexadecimal

 
El lenguaje C emplea apuntadores en lectura de toda cantidad numérica debido a que asigna dichos valores a través de las direcciones de las variables, por tal motivo los nombres de ellas van precedidas del símbolo & (con lo que se indica que se usan apuntadores). En el caso de cadenas, los nombres de las variables son en si mismos apuntadores y no requieren dicho símbolo.
PROGRAMA EJEMPLO:
/*lectura de tres valores de variables enteras*/

#include<stdio.h>

main(void)

{

int e,m,c;

scanf("%d%d%d",&e,&m,&c);

/* en este espacio se colocarian las instrucciones para

proceso de la información e impresión de resultados*/

/* recuerde que /*...*/ son comentarios que no se procesan*/

return(0);

}


 
Recuerde que en este caso los valores se teclean separados por un espacio en blanco o tabulador y al final un ENTER o también cada dato seguido de un ENTER.

En el ejemplo anterior debe observarse que no se incluyo caracter alguno entre las especificaciones de campo. Si se incluye algo, eso mismo deberá indicarse junto con los valores a teclear, por ejemplo:

scanf("%d%d%d",&e,&m,&c);

está indicando a C que lea un entero, descarte una coma, lea otro entero, descarte una segunda coma y lea un último entero (en este caso se teclean los datos separados por comas y al final se da un ENTER). Debe tenerse precaución en la lectura para evitar casos de confusión como pudiera ser el siguiente:

scanf("%s",nombre_cadena);

Pues ahí, ademas del valor de la cadena, scanf está esperando a que se indique el espacio en blanco que sigue a la especificación s para concluir la lectura; es decir que de esa forma se indica que se lea y descarte caracteres de espacios, tabulaciones y saltos de linea.

NOTA: No es recomendable indicar las ordenes de lectura sin la presencia de ordenes de escritura que nos indiquen los valores que deberán proporcionarse por teclado (lectura indicada por el scanf();). En ocasiones se requerirá borrar la memoria temporal que usa scanf(); para evitar errores antes de volver a leer. Para ello use la función fflush(stdin);



Selecciona un tema