Crear un programa de entrada de usuario en C

CCBeginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En este laboratorio, crearás un programa de entrada de usuario en C. Configurarás el entorno de desarrollo, escribirás la estructura básica del programa, implementarás la entrada de usuario para el nombre y la edad, y luego compilarás y ejecutarás el programa. El objetivo es aprender cómo aceptar y procesar la entrada del usuario en un programa en C.

El laboratorio te guía a través de los pasos necesarios, comenzando por configurar el entorno de desarrollo y crear un nuevo archivo fuente en C. Luego, agregarás la estructura básica del programa, incluyendo la función principal (main), y procederás a implementar la funcionalidad para aceptar la entrada del usuario para su nombre y edad. Finalmente, compilarás y ejecutarás el programa para ver los resultados.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL c(("C")) -.-> c/BasicsGroup(["Basics"]) c(("C")) -.-> c/CompoundTypesGroup(["Compound Types"]) c(("C")) -.-> c/UserInteractionGroup(["User Interaction"]) c/BasicsGroup -.-> c/variables("Variables") c/CompoundTypesGroup -.-> c/strings("Strings") c/UserInteractionGroup -.-> c/user_input("User Input") c/UserInteractionGroup -.-> c/output("Output") subgraph Lab Skills c/variables -.-> lab-438242{{"Crear un programa de entrada de usuario en C"}} c/strings -.-> lab-438242{{"Crear un programa de entrada de usuario en C"}} c/user_input -.-> lab-438242{{"Crear un programa de entrada de usuario en C"}} c/output -.-> lab-438242{{"Crear un programa de entrada de usuario en C"}} end

Configurar el entorno de desarrollo

En este paso, configuraremos nuestro entorno de desarrollo para crear un programa en C que lea la entrada del usuario. Utilizaremos el WebIDE para crear y administrar nuestros archivos de proyecto.

  1. Abre la terminal en el WebIDE. Verifica que estés en el directorio de proyecto predeterminado:
pwd

Salida de ejemplo:

/home/labex/project
Terminal mostrando el directorio del proyecto

Este comando confirma que estás en el directorio de inicio correcto. El /home/labex/project es el espacio de trabajo predeterminado para tus actividades de laboratorio.

  1. Verifica que el compilador GCC esté instalado:
gcc --version

Salida de ejemplo:

gcc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0
Copyright (C) 2021 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Este comando comprueba que la Colección de Compiladores GNU (GNU Compiler Collection, GCC) esté disponible, que utilizaremos para compilar nuestro programa en C.

Escribir la estructura básica del programa

En este paso, crearemos la estructura básica de nuestro programa en C para prepararnos para la funcionalidad de entrada de usuario.

  1. Crea un nuevo archivo fuente en C en el directorio del proyecto:
touch user_input.c

El comando touch crea un nuevo archivo vacío llamado user_input.c en el directorio actual.

  1. Abre el archivo en el editor del WebIDE haciendo clic en el nombre del archivo en el explorador de archivos o utilizando la opción Open File.
  2. Agrega la estructura básica del programa en C a user_input.c:
#include <stdio.h>

int main() {
    // Program code will go here
    return 0;
}

Desglosemos esta estructura básica:

  • #include <stdio.h> incluye la biblioteca estándar de entrada/salida (standard input/output library), que proporciona funciones como printf() y scanf().
  • int main() es la función principal donde comienza la ejecución del programa.
  • La función main() vacía actualmente solo devuelve 0, lo que indica una ejecución exitosa.
  • Las llaves { } definen el cuerpo de la función principal.
  1. Guarda el archivo utilizando Ctrl+S o seleccionando Save del menú File.

Implementar la entrada de usuario para el nombre

En este paso, modificaremos nuestro programa en C para leer y mostrar el nombre del usuario utilizando funciones de entrada.

  1. Abre el archivo user_input.c en el editor del WebIDE.
  2. Actualiza el programa para incluir la funcionalidad de entrada de nombre:
#include <stdio.h>

int main() {
    char name[100];

    printf("Enter your name: ");
    scanf("%s", name);

    printf("Hello, %s!\n", name);

    return 0;
}

Desglosemos el nuevo código:

  • char name[100]; declara un arreglo de caracteres (cadena) que puede contener hasta 99 caracteres más el terminador nulo.
  • printf("Enter your name: "); solicita al usuario que ingrese su nombre.
  • scanf("%s", name); lee una cadena de la entrada del usuario y la almacena en el arreglo name.
    • El especificador de formato %s se utiliza para leer cadenas.
    • Ten en cuenta que scanf() con %s lee hasta que encuentra un espacio, por lo que funciona mejor con nombres de una sola palabra.
  • printf("Hello, %s!\n", name); imprime un saludo utilizando el nombre ingresado.
    • El %s en la cadena de formato se reemplaza por el valor de name.
  1. Guarda el archivo utilizando Ctrl+S o seleccionando Save del menú File.

Compilaremos y ejecutaremos el programa para probar la funcionalidad en el último paso, ¡así que mantente atento!

Agregar entrada de edad

En este paso, extendaremos nuestro programa para leer y mostrar la edad del usuario junto con su nombre.

  1. Abre el archivo user_input.c en el editor del WebIDE.
  2. Actualiza el programa para incluir la funcionalidad de entrada de edad:
#include <stdio.h>

int main() {
    char name[100];
    int age;

    printf("Enter your name: ");
    scanf("%s", name);

    printf("Enter your age: ");
    scanf("%d", &age);

    printf("Hello, %s! You are %d years old.\n", name, age);

    return 0;
}

Desglosemos las nuevas adiciones de código:

  • int age; declara una variable entera para almacenar la edad del usuario.
  • printf("Enter your age: "); solicita al usuario que ingrese su edad.
  • scanf("%d", &age); lee un entero de la entrada del usuario y lo almacena en la variable age.
    • El especificador de formato %d se utiliza para leer enteros.
    • El & antes de age proporciona la dirección de memoria donde se debe almacenar la entrada.
  • La última función printf() ahora incluye tanto el nombre como la edad en el mensaje de salida.
  1. Guarda el archivo utilizando Ctrl+S o seleccionando Save del menú File.

Compilar y ejecutar el programa

En este último paso, compilaremos nuestro programa en C y lo ejecutaremos para interactuar con la funcionalidad de entrada de usuario.

  1. Abre la terminal en el WebIDE y navega hasta el directorio del proyecto:
cd ~/project
  1. Compila el programa utilizando el compilador GCC:
gcc user_input.c -o user_input

Este comando compila el archivo fuente user_input.c y crea un ejecutable llamado user_input. Si hay algún error en tu código, se mostrarán mensajes de error aquí.

  1. Ejecuta el programa compilado:
./user_input

Ejemplo de interacción:

Enter your name: Alice
Enter your age: 25
Hello, Alice! You are 25 years old.

Cuando ejecutes el programa:

  • Primero, se te pedirá que ingreses tu nombre.
  • Luego, se te pedirá que ingreses tu edad.
  • El programa mostrará un saludo personalizado con tu nombre y edad.
  1. Intenta ejecutar el programa varias veces con diferentes nombres y edades para ver cómo funciona.

Resumen

En este laboratorio, configuraste el entorno de desarrollo creando un directorio de proyecto dedicado, verificando la instalación del compilador GCC y escribiendo la estructura básica de un programa en C. Luego, implementaste la funcionalidad de entrada de usuario, lo que permite al programa leer el nombre y la edad del usuario. Finalmente, compilaste y ejecutaste el programa para ver los resultados.

Los puntos clave de aprendizaje cubiertos en este laboratorio incluyen configurar un proyecto de programación en C, entender la estructura básica del programa e incorporar la entrada de usuario utilizando la función scanf(). Estas habilidades fundamentales son esenciales para construir aplicaciones en C más complejas que interactúen con los usuarios.