Menu
Coddy logo textTech

Proyecto: Definir la estructura Contact

Parte de la sección Lógica y Flujo del Journey de C de Coddy. Lección 50 de 63.

challenge icon

Desafío

Fácil

Crearás una herramienta sencilla de registro de contactos que demuestra cómo las estructuras pueden organizar datos relacionados en aplicaciones del mundo real.

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

  1. Definir una struct llamada 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 de la estructura mediante el operador 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, realiza las siguientes comprobaciones de validación:
      • Si la edad es menor que 0 o mayor que 120, imprime Invalid age y termina el programa
      • Si la longitud del número de teléfono es menor que 10 caracteres, imprime Invalid phone number y termina el programa
    • Si todas las validaciones se superan, imprime la información del contacto con este formato exacto:
      • Contact Information:
      • Name: [name]
      • Phone: [phone]
      • Email: [email]
      • Age: [age]
    • Calcula e imprime información adicional:
      • Imprime la longitud del nombre usando strlen() con el formato: Name length: [length]
      • Determina la categoría de edad e imprímela:
        • 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 mayor: Category: Senior

Este desafío evalúa tu comprensión de la definición de estructuras, la declaración de miembros con tipos de datos y tamaños adecuados, el acceso a los miembros de una estructura mediante el operador punto, la validación de entradas y el uso de funciones de cadenas como strlen() con miembros de estructuras. 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 Lógica y Flujo

Practica por tu cuenta: Compilador de C online