You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
69 lines
2.0 KiB
C#
69 lines
2.0 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace Übungen_LF6_WinFormanwendung
|
|
{
|
|
public class UnitTestDemoISBN
|
|
{
|
|
|
|
public UnitTestDemoISBN()
|
|
{
|
|
|
|
}
|
|
|
|
public bool pruefeISBN(string ISBN)
|
|
{
|
|
//Überprüft die richtigkeit der Prüfziffer
|
|
|
|
string multiplikatorString = "1313131313131";
|
|
int produktwert = 0;
|
|
|
|
for (int stelle = 0; stelle < 12; stelle++)
|
|
{
|
|
int ziffer = Convert.ToInt32(ISBN[stelle]) - Convert.ToInt32('0');
|
|
int multiplikatorziffer = Convert.ToInt32(multiplikatorString[stelle]) - Convert.ToInt32('0');
|
|
|
|
produktwert += ziffer * multiplikatorziffer;
|
|
}
|
|
|
|
produktwert = produktwert % 10;
|
|
if (produktwert > 0)
|
|
produktwert = 10 - produktwert;
|
|
|
|
string prüfziffer = produktwert.ToString();
|
|
string prüfzahl = ISBN.ElementAt(12).ToString();
|
|
if ( prüfziffer == prüfzahl)
|
|
return true;
|
|
else
|
|
return false;
|
|
}
|
|
|
|
public string ergaenzeISBN(string ISBN)
|
|
{
|
|
//gibt String mit ISBN plus Prüfziffer aus (13 Stellig)
|
|
string multiplikatorString = "1313131313131";
|
|
int produktwert = 0;
|
|
|
|
for (int stelle = 0; stelle < 11; stelle++)
|
|
{
|
|
int ziffer = Convert.ToInt32(ISBN[stelle]) - Convert.ToInt32('0');
|
|
int multiplikatorziffer = Convert.ToInt32(multiplikatorString[stelle]) - Convert.ToInt32('0');
|
|
|
|
produktwert += ziffer * multiplikatorziffer;
|
|
}
|
|
|
|
produktwert = produktwert % 10;
|
|
if (produktwert > 0)
|
|
produktwert = 10 - produktwert;
|
|
|
|
String ISBNNew = ISBN.Substring(0, 12);
|
|
ISBNNew += produktwert.ToString();
|
|
|
|
return ISBNNew;
|
|
}
|
|
}
|
|
}
|