Я пытаюсь создать программу, которая проверит номер ISBN и проверит, имеет ли он правильную контрольную цифру, если он не имеет контрольной цифры, он добавит ее.У меня есть идея, как это будет работать, я просто не могу понять, как его кодировать, как в классах, наследуемых друг от друга.Это пример в классе, который не будет оценен, это просто ознакомит нас с получением наших проектов для работающей программы.вот что я имею в виду, это простая консольная программа.
![alt text](https://i.stack.imgur.com/fe70I.jpg)
Код обновлен
public class isbn
{ //attributes
private string isbnNum;
//method
public string GetIsbn()
{
return this.isbnNum;
}
//constructor
public isbn()
{
Console.Write("Enter Your ISBN Number: ");
this.isbnNum = Console.ReadLine();
}//end default constructor
//method
public string displayISBN()
{
return this.GetIsbn();
}
public static void Main(string[] args)
{
//create a new instance of the ISBN/book class
isbn myFavoriteBook = new isbn();
//contains the method for checking validity
bool isValid = CheckDigit.CheckIsbn(myFavoriteBook.GetIsbn());
//print out the results of the validity.
Console.WriteLine(string.Format("Your book {0} a valid ISBN",
isValid ? "has" : "doesn't have"));
Console.ReadLine();
}//end main
Этопроверьте цифровой код, который преподаватель предоставил на уроке, мы просто должны объединить его, чтобы заставить его работать.Я знаю, что это относится к классу контрольных цифр, но я не знаю, как включить его в код.
Код обновлен
public static class CheckDigit
{ // attributes
public static string NormalizeIsbn(string isbn)
{
return isbn.Replace("-", "").Replace(" ", "");
}
public static bool CheckIsbn(string isbn) // formula to check ISBN's validity
{
if (isbn == null)
return false;
isbn = NormalizeIsbn (isbn);
if (isbn.Length != 10)
return false;
int result;
for (int i = 0; i < 9; i++)
if (!int.TryParse(isbn[i].ToString(), out result))
return false;
int sum = 0;
for (int i = 0; i < 9; i++)
sum += (i + 1) * int.Parse(isbn[i].ToString());
int remainder = sum % 11;
if (remainder == 10)
return isbn[9] == 'X';
else
return isbn[9] == (char)('0' + remainder);
}