Menu
Coddy logo textTech

Projeto: Definir a Struct de Contato

Parte da seção Lógica e Fluxo do Journey de C da Coddy. Lição 50 de 63.

challenge icon

Desafio

Fácil

Você criará uma ferramenta simples de cadastro de contatos que demonstra como structs podem organizar dados relacionados em aplicações do mundo real.

Crie um programa em C que defina uma struct Contact para armazenar informações de contato. Seu programa deve:

  1. Definir uma struct chamada Contact com os seguintes membros:
    • Um array de caracteres name com tamanho 50 para armazenar o nome do contato
    • Um array de caracteres phone com tamanho 20 para armazenar o número de telefone do contato
    • Um array de caracteres email com tamanho 40 para armazenar o endereço de e-mail do contato
    • Um inteiro age para armazenar a idade do contato
  2. Na função main:
    • Crie uma variável Contact chamada person
    • Leia os seguintes valores de entrada e atribua-os aos membros da struct usando o operador ponto:
      • Leia uma string para o nome e atribua-a a person.name
      • Leia uma string para o número de telefone e atribua-a a person.phone
      • Leia uma string para o e-mail e atribua-a a person.email
      • Leia um inteiro para a idade e atribua-o a person.age
    • Depois de ler todos os valores, realize as seguintes verificações de validação:
      • Se a idade for menor que 0 ou maior que 120, imprima Invalid age e encerre o programa
      • Se o comprimento do número de telefone for menor que 10 caracteres, imprima Invalid phone number e encerre o programa
    • Se todas as validações forem aprovadas, imprima as informações de contato neste formato exato:
      • Contact Information:
      • Name: [name]
      • Phone: [phone]
      • Email: [email]
      • Age: [age]
    • Calcule e imprima informações adicionais:
      • Imprima o comprimento do nome usando strlen() no formato: Name length: [length]
      • Determine a categoria de idade e imprima-a:
        • Se a idade estiver entre 0 e 17: Category: Minor
        • Se a idade estiver entre 18 e 64: Category: Adult
        • Se a idade for 65 ou mais: Category: Senior

Este desafio testa sua compreensão da definição de struct, da declaração de membros com tipos e tamanhos de dados apropriados, do acesso aos membros da struct usando o operador ponto, da validação de entrada e do uso de funções de string como strlen() com membros de structs. Você praticará a criação de uma estrutura de dados prática que poderia servir como base para um sistema de gerenciamento de contatos.

Experimente você mesmo

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

// TODO: Defina a struct Contact aqui

int main() {
    // TODO: Crie uma variável Contact chamada person
    
    // Ler valores de entrada
    scanf("%s", /* TODO: atribuir a person.name */);
    scanf("%s", /* TODO: atribuir a person.phone */);
    scanf("%s", /* TODO: atribuir a person.email */);
    scanf("%d", /* TODO: atribuir a person.age */);
    
    // TODO: Escreva seu código de validação e saída abaixo
    
    return 0;
}

Todas as lições de Lógica e Fluxo

Pratique por conta própria: Compilador de C online