Espere la entrada del usuario: Idioma C

Wait User Input C Language



En el lenguaje de programación C hay algunas funciones de entrada. Usando estas funciones, podemos esperar la entrada del usuario. En este tutorial vamos a discutir las funciones de entrada en detalle.

Cadena de formato

La cadena de formato es el formato para los datos ingresados. Este formato comienza con el signo% y seguido del especificador de formato. El especificador de formato es un carácter específico que se utiliza para el tipo de datos que se están leyendo.







arg1, arg2, arg3… son las direcciones de las variables donde se almacenarán los datos ingresados.



Función scanf ()

Sintaxis: int scanf (cadena de formato, arg1, arg2, arg3…)



Algunos de los especificadores de uso frecuente son los siguientes:





  • D - Usado para valores enteros.
  • F - Utilizado para número flotante.
  • c - Se utiliza para el valor de un solo carácter.
  • s - Utilizado para cuerdas.

Usando solo scanf () función, se puede tomar una o varias entradas del usuario.

los scanf () La función toma la entrada de la entrada estándar (teclado) y almacena el valor en una variable. La función espera la entrada del usuario hasta que el usuario presione la tecla Intro. El valor introducido se almacena en un búfer. Cuando se presiona la tecla enter, scanf () La función comienza a leer.



Ejemplo 1: Entrada entera

//Example1.c
#incluir

En tprincipal(){

En tI;
printf ('Introduzca el primer valor entero:');
scanf ('%D',&I);
printf ('Has entrado:% d orte',I);

printf ('Ingrese el segundo valor entero:');
scanf ('%D',&I);
printf ('Has entrado:% d orte',I);

regreso 0;
}

En Example1.c, hemos visto que cuando ingresamos valores enteros y presionamos la tecla enter. los scanf () La función toma el valor y lo almacena en la variable. Si ingresamos los valores separados por espacio, la función regresa cuando se encuentra el espacio, pero los valores después del espacio permanecen en el búfer de entrada. Por eso el segundo scanf () La función no esperará la entrada del usuario, sino que toma la entrada del búfer.

Ejemplo 2: Entrada de un solo carácter

//Example2.c
#incluir

En tprincipal(){

carbonizarsec;
printf ('Ingrese un carácter:');
scanf ('%c',&c);
printf ('Has entrado:% c orte',c);

regreso 0;
}

En Example2.c, hemos visto que cuando usamos %c especificador, el scanf () La función toma solo un carácter incluso si hemos ingresado más de un carácter.

Ejemplo 3: Entrada de un solo carácter (varias veces)

//Example3.c
#incluir

En tprincipal(){

carbonizarsec;
printf ('Ingrese el primer carácter:');
scanf ('%c',&c);
printf ('Has entrado:% c orte',c);

printf ('Introduzca el segundo carácter:');
scanf ('%c',&c);
printf ('Has entrado:% c orte',c);

regreso 0;
}

Ejemplo 4 :

//Example4.c
#incluir

En tprincipal(){

carbonizarsec;
printf ('Ingrese el primer carácter:');
scanf ('%c',&c);
printf ('Has entrado:% c orte',c);

printf ('Introduzca el segundo carácter:');
scanf (' %c',&c);
printf ('Has entrado:% c orte',c);

regreso 0;
}

Ejemplo 5: Entrada de cadena

//Example5.c
#incluir

En tprincipal(){

carbonizarsenombre[15];
printf ('Introduzca su nombre: ');
scanf ('%s',nombre);
printf ('Has ingresado:% s orte',nombre);

regreso 0;
}

Función getc ()

Sintaxis: int getc (ARCHIVO * flujo)

getc () La función se utiliza para leer un carácter del puntero FILE (flujo). Para leer desde el teclado, tenemos que usar stdin . Esta función devuelve un valor entero de carácter leído.

Ejemplo 6:

//Example6.c
#incluir

En tprincipal(){

carbonizarsec;
printf ('Ingrese el primer carácter:');
tiempo((c= getc (stdin))==' orte');
printf ('Has entrado:% c orte',c);

tiempo( getc (stdin)!=' orte');

printf ('Introduzca el segundo carácter:');
tiempo((c= getc (stdin))==' orte');
printf ('Has entrado:% c orte',c);

regreso 0;
}

Función getchar ()

Sintaxis: int getchar (vacío)

getchar () la función es la misma que getc () . La única diferencia es que getc () La función puede leer desde cualquier flujo de entrada, mientras que getchar () La función lee solo de la entrada estándar.

Ejemplo 7:

//Example7.c
#incluir

En tprincipal(){

carbonizarsec;
printf ('Ingrese el primer carácter:');
tiempo((c= getchar ())==' orte');
printf ('Has entrado:% c orte',c);

tiempo( getchar ()!=' orte');

printf ('Introduzca el segundo carácter:');
tiempo((c= getchar ())==' orte');
printf ('Has entrado:% c orte',c);

regreso 0;
}

Conclusión

En este artículo, hemos visto cómo se utilizan las funciones de entrada en lenguaje C. Todas estas funciones se toman como entrada del búfer de entrada y cuando usamos estas funciones varias veces, tenemos que borrar el búfer. De lo contrario, las funciones no esperarán la entrada del usuario y tomarán la entrada del búfer.