Из номера изделия, состоящего из 6 цифр, получить месяц, год и партию - C (СИ)
Формулировка задачи:
Разработать функцию, которая принимает серийный номер изделия, состоящий из 6 цифр, и с помощью параметров возвращает указатели на месяц, год и партию данного изделия.Первые две цифры- месяц,вторые-год, третьи-партии. В случае, если преобразование было выполнено успешно, функция возвращает 1, если нет(например, серийный номер содержит некоректный месяц)- возвращает 0.
Решение задачи: «Из номера изделия, состоящего из 6 цифр, получить месяц, год и партию»
textual
Листинг программы
int convert(int number, int *month , int *year, int *batch){ int temp; temp = number/10000; if(temp < 1 || temp > 12){ return 0; } *month = temp; *year = (number/100) % 100; *batch = number % 100; return 1; }
Объяснение кода листинга программы
В данном коде функция convert принимает на вход номер изделия, состоящий из 6 цифр, и возвращает 1, если номер корректен, и 0 в противном случае. Корректный номер изделия соответствует году, месяцу и партии, которые можно извлечь из этого номера. Внутри функции:
- Вычисляем temp = number/10000. Это дает нам первую цифру номера, которую мы используем как номер месяца.
- Проверяем, что temp находится в диапазоне от 1 до 12 (включительно), иначе возвращаем 0.
- Записываем значение temp в переменную month.
- Вычисляем *year = (number/100) % 100. Это дает нам две следующие цифры номера, которые мы используем как номер года.
- Вычисляем *batch = number % 100. Это дает нам последние три цифры номера, которые мы используем как номер партии.
- Возвращаем 1. Следовательно, корректный номер изделия должен удовлетворять условию 10000 <= number < 100000, чтобы не выходить за пределы допустимых значений месяца, года и партии.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д