Lab6.4

Run Settings
LanguageC
Language Version
Run Command
/** * @file lab6.4.cpp *@author Ткаченко Є.С., гр. 515і *@date 07 травня 2023 *@brief Лабораторна робота № 6, варіант 7 * * Завдання 4. Рядки. Параметри командного рядка . */ #include <stdio.h> #include <stdlib.h> #include <string.h> int process_name(char *name); int main(int argc, char *argv[]) { if (argc > 1 && (strcmp(argv[1], "/?") == 0 || strcmp(argv[1], "-?") == 0)) { printf("Переставляє вхідне ім'я з формату 'ім'я прізвище' на 'прізвище, ім'я'.\n"); printf("Якщо ім'я не вказане в якості аргументу командного рядка, програма запросить його у користувача.\n"); return 0; } char input_name[100]; char *name; if (argc > 1) { name = argv[1]; } else { fgets(input_name, 100, stdin); name = input_name; } char *newline_ptr = strchr(name, '\n'); if (newline_ptr != NULL) { *newline_ptr = '\0'; } int result = process_name(name); printf("+----------------------+----------------------+----------------------+\n"); printf("| Input | Output | Return Value |\n"); printf("+----------------------+----------------------+----------------------+\n"); printf("| %-20s | %-20s | %d |\n", name, name, result); printf("+----------------------+----------------------+----------------------+\n"); return 0; } int process_name(char *name) { char *first_name; char *last_name; char *last_space_ptr = strrchr(name, ' '); if (last_space_ptr == NULL) { return 0; } *last_space_ptr = '\0'; last_name = last_space_ptr + 1; first_name = name; char *processed_name = (char *) malloc(strlen(last_name) + strlen(first_name) + 3); sprintf(processed_name, "%s, %s", last_name, first_name); strcpy(name, processed_name); free(processed_name); return 1; }
Editor Settings
Theme
Key bindings
Full width
Lines