Я читаю книгу, думая, как программист. Однако все сделано в C ++, и я делаю упражнения в C#. У меня проблемы с преобразованием раздела в c#. Я опубликую вопрос, код книги на c ++ и мою попытку в c#. Оператор if пуст, я изначально пытался использовать Readline, затем преобразовывать в char и теперь переключился на чтение его в виде строки, а затем преобразование в char.
ПРОБЛЕМА: ЧТЕНИЕ ЧИСЛА С ТРИ ИЛИ ЧЕТЫРЕХ ЦИФРАМИ , ДАЛЕЕ УПРОЩЕННОЕ
Напишите программу для чтения числовых символов и преобразования ее в целое число, используя только одну переменную char и две переменные типа int. Номер будет иметь три или четыре цифры.
cout << "Enter a three-digit or four-digit number: ";
char digitChar = cin.get();
int threeDigitNumber = (digitChar - '0') * 100;
int fourDigitNumber = (digitChar - '0') * 1000;
digitChar = cin.get();
threeDigitNumber += (digitChar - '0') * 10;
fourDigitNumber += (digitChar - '0') * 100;
digitChar = cin.get();
threeDigitNumber += (digitChar - '0');
fourDigitNumber += (digitChar - '0') * 10;
digitChar = cin.get();
if (digitChar == 10) {
cout << "Numbered entered: " << threeDigitNumber << "\n";
} else {
fourDigitNumber += (digitChar - '0');
cout << "Numbered entered: " << fourDigitNumber << "\n";
}
Мой код:
Console.WriteLine("Enter in your 3 or 4 digit number");
string stringDigit = Console.ReadLine();
char charDigit = char.Parse(stringDigit);
//convert the char to an int and the correct place value
int threeDigitNumber = (charDigit - '0') * 100;
int fourDigitNumber = (charDigit - '0') * 1000;
stringDigit = Console.ReadLine();
charDigit = char.Parse(stringDigit);
threeDigitNumber += (charDigit - '0') * 10;
fourDigitNumber += (charDigit - '0') * 100;
stringDigit = Console.ReadLine();
charDigit = char.Parse(stringDigit);
threeDigitNumber += (charDigit - '0');
fourDigitNumber += (charDigit - '0') * 10;
stringDigit = Console.ReadLine();
charDigit = char.Parse(stringDigit);
//check if the number is a 3 or 4 digit number
if ()//unsure what to check
{
Console.WriteLine("Numbered entered is: " + threeDigitNumber);
}
else
{
fourDigitNumber += (charDigit - '0');
Console.WriteLine("Numbered entered is: " + fourDigitNumber);
}