Код по алгоритму. Расчет контрольной суммы - C#
Формулировка задачи:
Помогите написать код по этому алгоритму.
1) Пользователь может выбрать ввод 8-ми или на 13-ти чисел.(вводит их сам)
2) Сложить цифры стоят на чётных местах.
3) Результат сложения УМНОЖИТЬ на три.
4) Сложить цифры стоящие на нечётных местах кроме контрольных цифр.
5) Сложите 2 и 3 действие.
6) От полученной суммы в 5 действии отбросите десятки.
7) Из 10 вычесть число которое получилось в 6 пункте.
8) Сравнить 7 пункт с контрольной цифрой.
Решение задачи: «Код по алгоритму. Расчет контрольной суммы»
textual
Листинг программы
- using System;
- namespace EAN13
- {
- class Program
- {
- static void Main(string[] args)
- {
- Console.WriteLine(EAN13("9785845905635"));
- Console.WriteLine(EAN13("0882224925006"));
- Console.ReadKey();
- }
- public static bool EAN13(string barcode)
- {
- int cnt = 0;
- int sum = 0;
- if (barcode.Length != 13 & barcode.Length != 8)
- throw new Exception("Bad barcode legth");
- for (int j = barcode.Length - 2; j > -1; j--)
- {
- cnt += 1;
- if (cnt % 2 == 0)
- {
- sum += int.Parse(barcode[j].ToString());
- }
- else
- {
- sum += int.Parse(barcode[j].ToString()) * 3;
- }
- }
- sum = (10 - (sum % 10)) % 10;
- if (barcode.Substring(barcode.Length - 1, 1) == sum.ToString())
- return true;
- return false;
- }
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д