Вывести фамилии сотрудников, номера телефонов которых начинаются с цифр 361 - C (СИ)
Формулировка задачи:
Сведения состоят из фамилий сотрудников и их телефонов. Вывести фамилии сотрудников, номера телефонов которых начинаются с цифр 361, 362 или 273.
Решение задачи: «Вывести фамилии сотрудников, номера телефонов которых начинаются с цифр 361»
textual
Листинг программы
- #include <stdio.h>
- typedef struct {
- char* first_name;
- char* surname;
- char* patronymic;
- char* phone_number;
- } worker;
- int check_phone_number(const char *prefix, const char *phone_number) {
- char character_prefix;
- char character_phone_number;
- if (!*prefix) {
- return 1;
- }
- while ((character_prefix = *prefix++) && (character_phone_number = *phone_number++)) {
- if (character_prefix != character_phone_number) {
- return 0;
- }
- }
- if (!character_phone_number) {
- return 0;
- }
- return 1;
- }
- int main(int argc, char **argv) {
- worker first_worker;
- worker second_worker;
- worker third_worker;
- worker forth_worker;
- worker list_workers[3];
- int i = 0;
- int j = 0;
- int part_phone_numbers[3] = { 361, 362, 273 };
- /* Инициализация полей работников */
- first_worker.first_name = "Петров";
- first_worker.surname = "Петр";
- first_worker.patronymic = "Иванович";
- first_worker.phone_number = "3618945";
- second_worker.first_name = "Сидоров";
- second_worker.surname = "Сидр";
- second_worker.patronymic = "Сидорович";
- second_worker.phone_number = "7598945";
- third_worker.first_name = "Иванов";
- third_worker.surname = "Иван";
- third_worker.patronymic = "Иванович";
- third_worker.phone_number = "3628945";
- list_workers[0] = first_worker;
- list_workers[1] = second_worker;
- list_workers[2] = third_worker;
- for (i = 0; i < 3; ++i) {
- for (j = 0; j < 3; ++j) {
- if (!check_phone_number(part_phone_numbers[j], list_workers[i].phone_number)) {
- printf("Номер работника %s %s %s совпал ", list_workers[i].first_name, list_workers[i].surname, list_workers[i].patronymic);
- }
- }
- }
- }
Объяснение кода листинга программы
В данном коде реализована функция check_phone_number, которая проверяет, совпадает ли телефонный номер с заданным префиксом. Также в функции main создаются четыре работника с разными телефонными номерами, и происходит проверка, совпадают ли номера работников с префиксами 361 и 362. Если номер совпадает, то выводится фамилия работника.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д