Quick actions

cmd+k|ctrl+k

Navigation

Languages

Lab5.1

Snippet info

Language

C

Visibility

public

Author

y.s.tkachenko

Created

2023-04-27T21:40:26.509666Z

Updated

2023-04-27T21:40:26.509666Z

/**
* @file lab5.1.cpp
*@author Ткаченко Є.С., гр. 515і
*@date 21 квітня 2023
*@brief Лабораторна робота № 5, варіант 7
*
* Завдання 1. Застосування вказівників.
*/

#include <stdio.h>
#include <locale.h>

int parse_tire(long long tire, int* width, int* profile, int* diameter, int* week, int* year) {
    // Перевірка на кількість цифр
    if (tire < 10000000000 || tire > 99999999999) {
        return 0;
    }

    *width = tire / 100000000;
    *profile = tire % 100000000 / 1000000;
    *diameter = tire % 1000000 / 10000;
    *week = tire % 10000 / 100;
    *year = tire % 100;

    // Перевірка коректності тижня та року 
    if (*week < 1 || *week > 52 || *year < 0 || *year > 99) {
        return 0;
    }

    return 1;
}

int main() {
    setlocale(LC_ALL, "Ukr");
    long long tire;
    int width, profile, diameter, week, year;

    printf("Введiть маркування шини: ");
    scanf("%lld", &tire);

    if (parse_tire(tire, &width, &profile, &diameter, &week, &year)) {
        printf("Ширина: %dмм\n", width);
        printf("Висота профiлю: %d%%\n", profile);
        printf("Дiаметр покришки: %d дюймiв\n", diameter);
        printf("Тиждень виробництва: %d тиждень\n", week);
        printf("Рiк виробництва: 20%d рiк\n", year);
    }
    else {
        printf("Некоректне маркування шини\n");
    }

    return 0;
}
INFO