home *** CD-ROM | disk | FTP | other *** search
-
- #include
-
- ////////////////////////////////////////////////////////////////////////////
- // main repeat
- // =====
- // Repeat a character n number of times.
- //
- void repeat(char c, int n) {
- for(int i = 0; i < n; ++i)
- cout << c;
- } // end repeat
-
-
- ////////////////////////////////////////////////////////////////////////////
- // main main
- // =====
- // Convert a English number into a Roman number.
- //
- void main(void) {
- int eng, done;
- char finished;
-
- done = false;
- while (done == false) {
- eng = -1;
- while (eng > 9999 || eng < 1) {
- cout << "Enter an English number: ";
- cin >> eng;
- } // end while
- cout << "The Roman number is: ";
- // English to Roman Conversion
- if (eng > 999) { repeat('M', eng/1000); eng=(eng-(eng/1000)*1000); }
- if (eng > 900) { cout << "CM"; eng = eng - 900; }
- if (eng >= 500) { cout << "D"; eng = eng - 500; }
- if (eng >= 400) { cout << "CD"; eng = eng - 400; }
- if (eng >= 100) { repeat('C', eng/100); eng=(eng-(eng/100)*100); }
- if (eng > 90) { cout << "IX"; eng = eng - 90; }
- if (eng >= 50) { cout << "L"; eng = eng - 50; }
- if (eng >= 40) { cout << "XL"; eng = eng - 40; }
- if (eng >= 10) { repeat('X', eng/10); eng=(eng-(eng/10)*10); }
- if (eng == 9) { cout << "IX"; eng = eng - 9; }
- if (eng >= 5) { cout << "V"; eng = eng - 5; }
- if (eng >= 4) { cout << "IV"; eng = eng - 4; }
- if (eng >= 1) { repeat('I', eng); }
-
- cout << endl << endl << "Enter another number (Y/N)? ";
- cin >> finished;
- if (finished == 'n' || finished == 'N') done = true;
- } // end while
- } // end main
-
-
-
-
-
-
- Copyright 1998,Jeremy Petter. All rights reserved worldwide. The Source shall not be liable in the event of incidental or consequential
- damages arising from the use of information supplied herein.
-