namespace Feladat10_VonalkodEllenorzes { internal class Program { static void Main(string[] args) { Console.WriteLine("=== Raktári vonalkód – ellenőrző számjegy ==="); Console.WriteLine(); // 1. rész: új vonalkód képzése a 7 jegyű törzsszámból. Console.Write("Add meg a 7 jegyű törzsszámot: "); int torzsszam = int.Parse(Console.ReadLine()); int ujEllenorzo = EllenorzoJegy(torzsszam); int teljesVonalkod = torzsszam * 10 + ujEllenorzo; Console.WriteLine($"Az ellenőrző számjegy: {ujEllenorzo}"); Console.WriteLine($"A teljes vonalkód: {teljesVonalkod}"); Console.WriteLine(); // 2. rész: egy beolvasott 8 jegyű vonalkód ellenőrzése. Console.Write("Add meg az ellenőrizendő 8 jegyű vonalkódot: "); int vonalkod = int.Parse(Console.ReadLine()); int torzs = vonalkod / 10; int megadottEllenorzo = vonalkod % 10; int helyesEllenorzo = EllenorzoJegy(torzs); Console.WriteLine($"Törzsszám: {torzs}"); Console.WriteLine($"A vonalkódon szereplő ellenőrző számjegy: {megadottEllenorzo}"); Console.WriteLine($"A kiszámított ellenőrző számjegy: {helyesEllenorzo}"); if (megadottEllenorzo == helyesEllenorzo) { Console.WriteLine("A vonalkód ÉRVÉNYES."); } else { Console.WriteLine("A vonalkód HIBÁS, a raktári rendszer nem fogadja el."); } } // A törzsszám számjegyeit jobbról balra vesszük sorra. // A jobb szélső számjegy súlya 3, utána felváltva 1 és 3. static int EllenorzoJegy(int torzsszam) { int maradek = torzsszam; int osszeg = 0; for (int i = 0; i < 7; i++) { int jegy = maradek % 10; if (i % 2 == 0) { osszeg += jegy * 3; } else { osszeg += jegy; } maradek = maradek / 10; } return (10 - osszeg % 10) % 10; } } }