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#

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;
}
}
}