Beispiel 8: Trennung von Verarbeitungsschritten I

24.10.2016 03:31 Uhr
#include <iostream>

using namespace std;

int main()
{
char roemisch[10];
char roemischeZiffern[8] = "ivxlcdm";
int ziffernWert[7] = {1, 5, 10, 50, 100, 500, 1000};
int arabisch[10], stellen=0, resultat;
int j;


cout << "Bitte geben Sie eine Römische Zahl ein: ";
cin >> roemisch;

for (stellen=0; roemisch[stellen]!='\0'; stellen++)
    {
    for (j = 0; j < 7; j++)
        if (roemisch[stellen] == roemischeZiffern[j])
           {
           arabisch[stellen] = ziffernWert[j];
           break;
           }
    if (j == 7)
       cout << "Fehler!" << endl <<
               "In Ihrer Eingabe " << roemisch << " ist " << roemisch[stellen] <<

               " keine römische Ziffer.";
    }


resultat=0;
for (j=0; j < stellen; j++) resultat += arabisch[j];

cout << roemisch << " in roemischer Notation entspricht " <<
        resultat << " in arabischer." << endl;

return 0;
}