Author's photo
Radovan B.
informatika

Program c#

Dobrý deň, potrebujem riešenie tohto príkladu v programe c#
Pre výpočet kontrolného súčtu je nasledujúci algoritmus. Číslice čiarového kódu
spracovávajte zľava doprava.
1. Nastav celkovú sumu na hodnotu 0
2. Ak je číslica na párnej pozícii (pozícia 2, 4, 6, ...) pripočítaj ju k celkovej
sume.
3. Ak je číslica na nepárnej pozícii (pozícia 1, 3, 5...) vynásob ju číslom 2. Ak je
výsledok násobenia väčší alebo rovný 10, tak odčítaj od výsledku 9. Potom
túto hodnotu pripočítaj k celkovej sume.
4. Po spracovaní všetkých 13-tich číslic vezmi zvyšok celkovej sumy po
celočíselnom delení číslom 10.
5. Ak je zvyšok rovný 0 tak kontrolný súčet je 0,inak je kontrolným súčtom 10-
zvyšok.
6. Porovnajte vypočítaný kontrolný súčet so 14-tou číslicou.

2 odpovede
//Neviem ako mas zadany ciarovy kod , ale ked ako string tak toto je riesenie. Nemas za co ;)

using System;

public class Program
{
/*
Dobrý deň, potrebujem riešenie tohto príkladu v programe c#
Pre výpočet kontrolného súčtu je nasledujúci algoritmus. Číslice čiarového kódu
spracovávajte zľava doprava.
1. Nastav celkovú sumu na hodnotu 0
2. Ak je číslica na párnej pozícii (pozícia 2, 4, 6, ...) pripočítaj ju k celkovej
sume.
3. Ak je číslica na nepárnej pozícii (pozícia 1, 3, 5...) vynásob ju číslom 2. Ak je
výsledok násobenia väčší alebo rovný 10, tak odčítaj od výsledku 9. Potom
túto hodnotu pripočítaj k celkovej sume.
4. Po spracovaní všetkých 13-tich číslic vezmi zvyšok celkovej sumy po
celočíselnom delení číslom 10.
5. Ak je zvyšok rovný 0 tak kontrolný súčet je 0,inak je kontrolným súčtom 10-
zvyšok.
6. Porovnajte vypočítaný kontrolný súčet so 14-tou číslicou.

*/

static int charToInt(char a) {
try {
int tmp;
tmp = Convert.ToInt32(a);
return tmp;
} catch (FormatException e) {
Console.WriteLine("Input string is not a sequence of digits.");
} catch (OverflowException e) {
Console.WriteLine("The number cannot fit in an Int32.");
}
return 0;
}

public static void Main()
{
//nahodny ciarovy kod 14 znakov !!
String ciarovy_kod = "2456984123474";
int sum = 0;
int kontrolny_sucet;
int i;
for (i = 0; i < ciarovy_kod.Length; i++)
{
if (i % 2 == 0) {
sum += charToInt(ciarovy_kod[i]);
}
if (i % 2 == 1 && (charToInt(ciarovy_kod[i])*2) >= 10 ) {
sum += ((charToInt(ciarovy_kod[i])*2) - 9);
}
}
if (sum % 10 == 0) {
kontrolny_sucet = 0;
} else {
kontrolny_sucet = sum % 10;
}
Console.WriteLine("Vysledok suma: {0}", sum);
Console.WriteLine("Vysledok kontrolny sucet: {0}", kontrolny_sucet);

}
}
Komentáre:
Miloš K.
https://codebeautify.org/c-formatter-beautifier/cbb82f81 stahuj tu ^ ^
Miloš K.
uloz to formatuju text ako "profici" tak to aj tak vizera. Chod na tento link "https://codebeautify.org/c-formatter-beautifier/cbb82f81" a stiahni to tam. Ak to chces vysvetlit posli mi mail na miloskruk@gmail.com
Miloš K.
spustit to mozes napr. tu "https://dotnetfiddle.net/"
avatar
Zmazaný účet
Ak máš nejaké otázky tak sa kľudne pýtaj
Prílohy:
Answer image