• Compra una licencia de Windows 10/11 (10€) u Office (18€) al mejor precio u Office al mejor precio. Entra en este post con las ofertas
  • ¡Bienvenid@! Recuerda que para comentar en el foro de El Chapuzas Informático necesitas registrar tu cuenta, tardarás menos de 2 minutos y te dará valiosa información además de ayudarte en lo que necesites o pasar un rato agradable con nosotros.

[Introducción al lenguaje de programación C] Escanear datos por teclado (Capítulo V)

Neur0na2

Timing Attack!
Registrado
13 Feb 2016
Mensajes
115
Puntos
0
Comentamos en el anterior capítulo que en esta lección veríamos cómo escanear los datos que introducimos por teclado. Esto nos va a permitir asignar el valor a una variable según el dato que introduzcamos por teclado. ¡Vamos a ello!

Imaginemos que tenemos el siguiente código:

Código:
#include <stdio.h>

int main(int argc, char *argv[])
{
    int miEdad;
    
    printf("Introduce tu edad: ");
    scanf("%d", &miEdad);
    printf("\nTu edad es de %d años\n", miEdad);
    
    getch();
    return 0;
}

Por partes como siempre:

Código:
int miEdad;

Declaramos una variable de tipo entero y no le asignamos ningún valor inicialmente.

Código:
printf("Introduce tu edad: ");

Imprimimos en pantalla una frase "".

Código:
scanf("%d", &miEdad);

Aquí tenemos la novedad. La función scanf es la que utilizaremos para leer los datos que introduzcamos por teclado. Sus argumentos son especificar el tipo de dato a introducir, en este caso %d porque es un entero y especificar a qué variable se le asignará dicho valor con el símbolo &, en este caso a la variable miEdad.

Código:
printf("\nTu edad es de %d años\n", miEdad);

Y mostramos el valor introducido en pantalla.

Cómo veis es realmente sencillo y se nos abre una mayor cantidad de posibilidades a la hora de crear nuestras propias aplicaciones. Veamos un ejemplo ahora con el tipo float un poco más extenso:

Código:
#include <stdio.h>

int main(int argc, char *argv[])
{
    float notaBiologia;
    float notaIngles;
    float notaMates;
    
    printf("Introduce la nota de biología: ");
    scanf("%f", &notaBiologia);
    printf("Introduce la nota de inglés: ");
    scanf("%f", &notaIngles);
    printf("Introduce la nota de matemáticas: ");
    scanf("%f", &notaMates);
    
    printf("\nLa nota de biología es: %0.2f\n", notaBiologia);
    printf("\nLa nota de inglés es: %0.2f\n", notaIngles);
    printf("\nLa nota de matemáticas es: %0.2f\n", notaMates);
    
    getch();
    return 0;
}

Por partes:

Código:
float notaBiologia;
float notaIngles;
float notaMates;

Creamos tres variables y no les asignamos ningún valor.

Código:
printf("Introduce la nota de biología: ");

Imprimimos en pantalla "".

Código:
scanf("%f", &notaBiologia);

Esta vez el tipo de dato es un float, por lo que pondremos %f y se lo asignamos a la variable notaBiologia.

Código:
printf("Introduce la nota de inglés: ");

Imprimimos en pantalla "".

Código:
scanf("%f", &notaIngles);

Lo mismo que antes pero se lo asignamos a la variable notaIngles.

Código:
printf("Introduce la nota de matemáticas: ");

Imprimimos en pantalla "".

Código:
scanf("%f", &notaMates);

Lo mismo que anteriormente pero se lo asignamos a la variable notaMates.

Código:
printf("\nLa nota de biología es: %0.2f\n", notaBiologia);
printf("\nLa nota de inglés es: %0.2f\n", notaIngles);
printf("\nLa nota de matemáticas es: %0.2f\n", notaMates);

Imprimimos en pantalla el valor de las variables con un máximo de dos decimales.

Por último veamos un ejemplo rápido de tipo carácter char que no habíamos utilizado en anteriores capítulos:

Código:
#include <stdio.h>

int main(int argc, char *argv[])
{
    char letra;
    
    printf("Escribe una letra: ");
    scanf("%c", &letra);
    
    printf("\nLa letra introducida es: %c\n", letra);
    
    getch();
    return 0;
}

El tipo es char por lo que la letra que va a continuación del símbolo % es c. Lo demás es lo mismo que antes, no creo que haga falta desmenuzarlo.

En el siguiente capítulo trabajaremos con las estructuras de control condicional.

Espero que os haya gustado :eek:k:

Capítulo anterior
Capítulo siguiente
 
Última edición:
Yo no es por desmotivar, que la currada que te estas pegando es de alabar.

Pero, ¿saber que por internet hay un montón de guías de lo mismo que estas haciendo tú?

A parte de esto, todo mi apoyo para seguir con este tutorial.

Cuando llegues a hilos de ejecución y esas tonterías si quieres te puedo echar una mano.
 
Yo no es por desmotivar, que la currada que te estas pegando es de alabar.

Pero, ¿saber que por internet hay un montón de guías de lo mismo que estas haciendo tú?

A parte de esto, todo mi apoyo para seguir con este tutorial.

Cuando llegues a hilos de ejecución y esas tonterías si quieres te puedo echar una mano.

Muchas gracias por tus palabras de apoyo arck.

Por supuesto que soy consciente que en Internet hay muchos tutoriales sobre esto, pero creo que en un foro tan importante como este, en el apartado programación no haya nada de conocimiento sobre desarrollo tiene delito. Creo que a los usuarios del foro que tengan interés por aprender les vendrá bien que tengamos contenido aquí y no se tengan que ir a cualquier otra página.

De todos modos para mí es un privilegio poder exponer con mi sello el conocimiento de este lenguaje aquí.

Un saludo y gracias de nuevo.
 
Me apunto para cuando llegues a punteros, que no tengo ni idea de C xd.
 
Jaja si bueno, tengo conocimientos muy basicos de C.
Pero le iré echando un vistazo a lo que pongas, era mi forma de darte ánimos jaja.
 
Cuando llegues a hilos de ejecución y esas tonterías si quieres te puedo echar una mano.
La programación concurrente es uno de los temas clave de nuestra era, y hablas de ello como "esas tonterías". No estoy seguro de si es irónico.
 
Muchas gracias por tus palabras de apoyo arck.

Por supuesto que soy consciente que en Internet hay muchos tutoriales sobre esto, pero creo que en un foro tan importante como este, en el apartado programación no haya nada de conocimiento sobre desarrollo tiene delito. Creo que a los usuarios del foro que tengan interés por aprender les vendrá bien que tengamos contenido aquí y no se tengan que ir a cualquier otra página.

De todos modos para mí es un privilegio poder exponer con mi sello el conocimiento de este lenguaje aquí.

Un saludo y gracias de nuevo.

Si lo haces de C+, yo me apunto.
 
Si lo haces de C+, yo me apunto.

Hasta que no termine el curso de C no empezaré a realizar los tutoriales de otro lenguaje de programación. Para serte sincero, una vez que termine el de C tengo pensado abrir una pequeña votación y que la gente pueda votar el siguiente lenguaje a estudiar.

Un saludo.
 
Era un poco irónico, la parte de hilos se me daba bien.
Por eso ofrecía mi ayuda, pero supongo que Neur0na irá sobrado.
 
Arriba