aboutsummaryrefslogtreecommitdiffstats
path: root/ee1301/wk3/lab3/strap012_lab3_decimal_roman_conv.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'ee1301/wk3/lab3/strap012_lab3_decimal_roman_conv.cpp')
-rw-r--r--ee1301/wk3/lab3/strap012_lab3_decimal_roman_conv.cpp41
1 files changed, 41 insertions, 0 deletions
diff --git a/ee1301/wk3/lab3/strap012_lab3_decimal_roman_conv.cpp b/ee1301/wk3/lab3/strap012_lab3_decimal_roman_conv.cpp
new file mode 100644
index 0000000..6dbd3bc
--- /dev/null
+++ b/ee1301/wk3/lab3/strap012_lab3_decimal_roman_conv.cpp
@@ -0,0 +1,41 @@
+#include <iostream>
+#include <string>
+using namespace std;
+int main () {
+ int decimal;
+ cout << "Enter an integer value from 1 to 999: ";
+ cin >> decimal;
+ if (decimal<1||decimal>999) {
+ cout << " Invalid Input. Program terminated." << endl;
+ return 1453;
+ } else {
+ cout << "Roman numeral equivalent: ";
+ while (decimal!=0) {
+ if (decimal>900 && decimal<1000) {
+ cout << "CM"; decimal-=900; }
+ if (decimal>500 && decimal<900) {
+ cout << "D"; decimal-=500; }
+ if (decimal>400 && decimal<500) {
+ cout << "CD"; decimal-=400; }
+ if (decimal>100 && decimal<400) {
+ cout << "C"; decimal-=100; }
+ if (decimal>90 && decimal<100) {
+ cout << "XC"; decimal-=90; }
+ if (decimal>50 && decimal<90) {
+ cout << "L"; decimal-=50; }
+ if (decimal>40 && decimal<50) {
+ cout << "XL"; decimal-=40; }
+ if (decimal>10 && decimal<40) {
+ cout << "X"; decimal-=10; }
+ if (decimal==9) {
+ cout << "IX"; decimal-=9; }
+ if (decimal>5 && decimal<9) {
+ cout << "V"; decimal-=5; }
+ if (decimal==4) {
+ cout << "IV"; decimal-=4; }
+ if (decimal>=1 && decimal<4) {
+ cout << "I"; decimal-= 1; }
+ }}
+ cout << endl;
+ return 0;
+}