Menu
Coddy logo textTech

Proyecto: Definir la estructura Contact

Parte de la sección Logic & Flow del Journey de C de Coddy — lección 50 de 63.

challenge icon

Desafío

Fácil

Construirás una herramienta sencilla de entrada de contactos que demuestra cómo los structs pueden organizar datos relacionados en aplicaciones del mundo real.

Crea un programa en C que defina un struct llamado Contact para almacenar información de contacto. Tu programa debe:

  1. Definir un struct llamado Contact con los siguientes miembros:
    • Un arreglo de caracteres name con tamaño 50 para almacenar el nombre del contacto
    • Un arreglo de caracteres phone con tamaño 20 para almacenar el número de teléfono del contacto
    • Un arreglo de caracteres email con tamaño 40 para almacenar la dirección de correo electrónico del contacto
    • Un entero age para almacenar la edad del contacto
  2. En la función main:
    • Crear una variable Contact llamada person
    • Leer los siguientes valores de entrada y asignarlos a los miembros del struct utilizando el operador de punto:
      • Leer una cadena para el nombre y asignarla a person.name
      • Leer una cadena para el número de teléfono y asignarla a person.phone
      • Leer una cadena para el correo electrónico y asignarla a person.email
      • Leer un entero para la edad y asignarlo a person.age
    • Después de leer todos los valores, realizar las siguientes comprobaciones de validación:
      • Si la edad es menor que 0 o mayor que 120, imprimir Invalid age y salir del programa
      • Si la longitud del número de teléfono es menor de 10 caracteres, imprimir Invalid phone number y salir del programa
    • Si todas las validaciones pasan, imprimir la información de contacto en este formato exacto:
      • Contact Information:
      • Name: [name]
      • Phone: [phone]
      • Email: [email]
      • Age: [age]
    • Calcular e imprimir información adicional:
      • Imprimir la longitud del nombre usando strlen() en el formato: Name length: [length]
      • Determinar la categoría de edad e imprimirla:
        • Si la edad está entre 0 y 17: Category: Minor
        • Si la edad está entre 18 y 64: Category: Adult
        • Si la edad es 65 o superior: Category: Senior

Este desafío pone a prueba tu comprensión de la definición de structs, la declaración de miembros con tipos de datos y tamaños adecuados, el acceso a los miembros del struct mediante el operador de punto, la validación de entradas y el uso de funciones de cadena como strlen() con miembros del struct. Practicarás la creación de una estructura de datos práctica que podría servir como base para un sistema de gestión de contactos.

Pruébalo tú mismo

#include <stdio.h>
#include <string.h>

// TODO: Define la estructura Contact aquí

int main() {
    // TODO: Crea una variable Contact llamada person
    
    // Leer valores de entrada
    scanf("%s", /* TODO: asignar a person.name */);
    scanf("%s", /* TODO: asignar a person.phone */);
    scanf("%s", /* TODO: asignar a person.email */);
    scanf("%d", /* TODO: asignar a person.age */);
    
    // TODO: Escribe tu código de validación y salida a continuación
    
    return 0;
}

Todas las lecciones de Logic & Flow