Вывести фамилии сотрудников, номера телефонов которых начинаются с цифр 361 - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Сведения состоят из фамилий сотрудников и их телефонов. Вывести фамилии сотрудников, номера телефонов которых начинаются с цифр 361, 362 или 273.

Решение задачи: «Вывести фамилии сотрудников, номера телефонов которых начинаются с цифр 361»

textual
Листинг программы
  1. #include <stdio.h>
  2.  
  3. typedef struct {
  4.     char* first_name;
  5.     char* surname;
  6.     char* patronymic;
  7.     char* phone_number;
  8. } worker;
  9.  
  10. int check_phone_number(const char *prefix, const char *phone_number) {
  11.     char character_prefix;
  12.     char character_phone_number;
  13.  
  14.     if (!*prefix) {
  15.         return 1;
  16.     }
  17.  
  18.     while ((character_prefix = *prefix++) && (character_phone_number = *phone_number++)) {
  19.         if (character_prefix != character_phone_number) {
  20.             return 0;
  21.         }
  22.     }
  23.  
  24.     if (!character_phone_number) {
  25.         return 0;
  26.     }
  27.  
  28.     return 1;
  29. }
  30.  
  31. int main(int argc, char **argv) {
  32.     worker first_worker;
  33.     worker second_worker;
  34.     worker third_worker;
  35.     worker forth_worker;
  36.     worker list_workers[3];
  37.  
  38.     int i = 0;
  39.     int j = 0;
  40.     int part_phone_numbers[3] = { 361, 362, 273 };
  41.  
  42.     /* Инициализация полей работников */
  43.     first_worker.first_name = "Петров";
  44.     first_worker.surname = "Петр";
  45.     first_worker.patronymic = "Иванович";
  46.     first_worker.phone_number = "3618945";
  47.  
  48.     second_worker.first_name = "Сидоров";
  49.     second_worker.surname = "Сидр";
  50.     second_worker.patronymic = "Сидорович";
  51.     second_worker.phone_number = "7598945";
  52.  
  53.     third_worker.first_name = "Иванов";
  54.     third_worker.surname = "Иван";
  55.     third_worker.patronymic = "Иванович";
  56.     third_worker.phone_number = "3628945";
  57.  
  58.     list_workers[0] = first_worker;
  59.     list_workers[1] = second_worker;
  60.     list_workers[2] = third_worker;
  61.  
  62.     for (i = 0; i < 3; ++i) {
  63.         for (j = 0; j < 3; ++j) {
  64.             if (!check_phone_number(part_phone_numbers[j], list_workers[i].phone_number)) {
  65.                 printf("Номер работника %s %s %s совпал ", list_workers[i].first_name, list_workers[i].surname, list_workers[i].patronymic);
  66.             }
  67.         }
  68.     }
  69.  
  70. }

Объяснение кода листинга программы

В данном коде реализована функция check_phone_number, которая проверяет, совпадает ли телефонный номер с заданным префиксом. Также в функции main создаются четыре работника с разными телефонными номерами, и происходит проверка, совпадают ли номера работников с префиксами 361 и 362. Если номер совпадает, то выводится фамилия работника.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 3.8 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы