Из номера изделия, состоящего из 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 в противном случае. Корректный номер изделия соответствует году, месяцу и партии, которые можно извлечь из этого номера. Внутри функции:

  1. Вычисляем temp = number/10000. Это дает нам первую цифру номера, которую мы используем как номер месяца.
  2. Проверяем, что temp находится в диапазоне от 1 до 12 (включительно), иначе возвращаем 0.
  3. Записываем значение temp в переменную month.
  4. Вычисляем *year = (number/100) % 100. Это дает нам две следующие цифры номера, которые мы используем как номер года.
  5. Вычисляем *batch = number % 100. Это дает нам последние три цифры номера, которые мы используем как номер партии.
  6. Возвращаем 1. Следовательно, корректный номер изделия должен удовлетворять условию 10000 <= number < 100000, чтобы не выходить за пределы допустимых значений месяца, года и партии.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 3.9 из 5
Похожие ответы