Лабораторна 6 завдання 2

Run Settings
LanguageC
Language Version
Run Command
#include <stdio.h> #include <string.h> #include <locale.h> #include "email_processor.h" int main() { setlocale(LC_ALL, "ukr"); char email[100]; // Рядок для зберігання електронної пошти printf("Введіть електронну пошту: "); fgets(email, sizeof(email), stdin); // Видаляємо символ нового рядка, який додається функцією fgets email[strcspn(email, "\n")] = '\0'; int result = obfuscate_email(email); if (result) { printf("Оброблена електронна пошта: %s\n", email); } else { printf("Електронна пошта не була оброблена (заміна не виконана).\n"); } printf("Результат заміни: %d\n", result); return 0; }
/** * @file email_processor.h * @author Нездоймишапка А.О., гр. 515б * @date 12 квітня 2024 * @brief Лабораторна робота № 6, варіант 15 * * Використання масивів. Завдання 1 */ #ifndef EMAIL_PROCESSOR_H #define EMAIL_PROCESSOR_H int obfuscate_email(char* email); #endif
/** * @file email_processor.c * @author Нездоймишапка А.О., гр. 515б * @date 12 квітня 2024 * @brief Лабораторна робота № 6, варіант 15 * * Використання масивів. Завдання 1 */ #include <string.h> #include "email_processor.h" #define _CRT_SECURE_NO_WARNINGS /** * Заміна символа @ на " at " і точки на " dot ". * * Функція замінює символ @ на " at " і точку на " dot " у вихідному рядку email, * якщо він містить лише один символ @. Якщо в рядку більше одного символу @ або * відсутній жоден @, то заміна не виконується. * * @param email Рядок електронної пошти для обробки * @return 1, якщо заміна була виконана успішно; 0, якщо не було здійснено заміну */ int obfuscate_email(char* email) { int at_count = 0; // Підраховуємо кількість символів @ у рядку email for (int i = 0; email[i] != '\0'; i++) { if (email[i] == '@') { at_count++; } } // Якщо символ @ відсутній або їх більше одного, повертаємо 0 if (at_count != 1) { return 0; } // Замінюємо @ на " at " char* at_ptr = strchr(email, '@'); if (at_ptr != NULL) { *at_ptr = ' '; strcpy(at_ptr + 1, " at "); } // Замінюємо кожен символ . на " dot " char* dot_ptr = strchr(email, '.'); while (dot_ptr != NULL) { *dot_ptr = ' '; strcpy(dot_ptr + 1, " dot "); dot_ptr = strchr(dot_ptr + strlen(" dot "), '.'); } return 1; // Заміна виконана успішно }
Editor Settings
Theme
Key bindings
Full width
Lines