Próbuję dowiedzieć się, jak konwertować liczby rzymskie na liczby całkowite. To jest część mojego kodu. Kiedy pytam użytkownika, aby wprowadzić M, pokazuje 1000, ale kiedy pytam użytkownika, aby wprowadzić cyfrę rzymską, taką jak VM, to nie daje mi 995, ale zamiast tego 1005. To dlatego, że mówię mojemu programowi, żeby to zrobił.Próbuję dowiedzieć się, jak konwertować liczby rzymskie na liczby całkowite
Próbuję zrozumieć, w jaki sposób mogę patrzeć w przyszłość i dowiedzieć się, kiedy dodaje lub odejmuje cyfry rzymskie.
Jak zacząć to robić?
class Roman
{
public int inprogress = 0;
public Roman(string roman)
{
char temp = 'Z';
int length;
length = roman.Length;
for (int i = 0; i < length; i++)
{
temp = roman[i];
if (temp == 'M')
{
inprogress = inprogress + 1000;
}
if (temp == 'D')
{
inprogress = inprogress + 500;
}
if (temp == 'C')
{
inprogress = inprogress + 100;
}
if (temp == 'L')
{
inprogress = inprogress + 50;
}
if (temp == 'X')
{
inprogress = inprogress + 10;
}
if (temp == 'V')
{
inprogress = inprogress + 5;
}
if (temp == 'I')
{
inprogress = inprogress + 1;
}
}
}
}
obiekt jest „konwersji do liczb całkowitych cyframi rzymskimi”, ale kod jest wyświetlany „do konwersji cyframi rzymskimi liczbami całkowitymi”. Którego właściwie pytasz? (Są przeciwieństwami.) Proszę [edytuj] swoje pytanie i wyjaśnij, o co prosisz. –
Trochę porady: podczas programowania takiego rozwiązania będzie łatwiej, jeśli się zorientujesz JAK masz zamiar rozwiązać problem, TO skopiuj to rozwiązanie. Wyjmij kartkę papieru i spróbuj wymyślić sposób na prawidłowe obliczenie liczby rzymskiej dla niektórych próbek (używając tylko liczb i innych rzeczy, nie piszesz kodu na papierze!). Następnie zakoduj to rozwiązanie. –
Czy możesz wyjaśnić, co się mówi przez "patrzeć w przyszłość", a być może zwrócę się o pomoc? Ps. Robisz coś niestosownego, jeśli sprawdzasz, użyj przełącznika/case lub zmień wszystkie instrukcje if, ale najpierw na "" else if ". –