Menu
Coddy logo textTech

Проект: Определение структуры Contact

Часть раздела Logic & Flow путешествия по C на Coddy — урок 50 из 63.

challenge icon

Задание

Легко

Вы создадите простой инструмент для ввода контактов, который демонстрирует, как структуры могут организовывать связанные данные в реальных приложениях.

Создайте программу на языке C, которая определяет структуру Contact для хранения контактной информации. Ваша программа должна:

  1. Определить struct с именем Contact со следующими членами:
    • Массив символов name размером 50 для хранения имени контакта
    • Массив символов phone размером 20 для хранения номера телефона контакта
    • Массив символов email размером 40 для хранения адреса электронной почты контакта
    • Целое число age для хранения возраста контакта
  2. В функции main:
    • Создать переменную типа Contact с именем person
    • Считать следующие входные значения и присвоить их членам структуры, используя оператор «точка»:
      • Считать строку для имени и присвоить ее person.name
      • Считать строку для номера телефона и присвоить ее person.phone
      • Считать строку для электронной почты и присвоить ее person.email
      • Считать целое число для возраста и присвоить его person.age
    • После считывания всех значений выполнить следующие проверки валидации:
      • Если возраст меньше 0 или больше 120, вывести Invalid age и завершить программу
      • Если длина номера телефона меньше 10 символов, вывести Invalid phone number и завершить программу
    • Если все проверки пройдены, вывести контактную информацию в точно таком формате:
      • Contact Information:
      • Name: [name]
      • Phone: [phone]
      • Email: [email]
      • Age: [age]
    • Рассчитать и вывести дополнительную информацию:
      • Вывести длину имени, используя strlen(), в формате: Name length: [length]
      • Определить возрастную категорию и вывести ее:
        • Если возраст от 0 до 17: Category: Minor
        • Если возраст от 18 до 64: Category: Adult
        • Если возраст 65 или выше: Category: Senior

Эта задача проверяет ваше понимание определения структур, объявления членов с соответствующими типами данных и размерами, доступа к членам структуры с помощью оператора «точка», валидации входных данных и использования строковых функций, таких как strlen(), с членами структуры. Вы попрактикуетесь в создании практичной структуры данных, которая может служить основой для системы управления контактами.

Попробуйте сами

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

// TODO: Определите здесь структуру Contact

int main() {
    // TODO: Создайте переменную типа Contact с именем person
    
    // Чтение входных значений
    scanf("%s", /* TODO: присвоить person.name */);
    scanf("%s", /* TODO: присвоить person.phone */);
    scanf("%s", /* TODO: присвоить person.email */);
    scanf("%d", /* TODO: присвоить person.age */);
    
    // TODO: Напишите код валидации и вывода ниже
    
    return 0;
}

Все уроки раздела Logic & Flow