Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Roman Number Implementation file Romanimp.cpp
- #include <iostream>
- #include <string>
- #include "roman.h"
- using namespace std;
- void romanType::printDecimal()
- {
- cout<<decimalNum;
- }
- void romanType::printRoman()
- {
- cout<<romanNum;
- }
- void romanType::setRoman(string rString)
- {
- romanNum = rString;
- romanToDecimal();
- }
- void romanType::romanToDecimal()
- {
- int sum = 0;
- int numBefore = 1000
- int length = romanNum.length();
- int i;
- for ( i= 0 < length; i++)
- switch(romanNum[i])
- {
- case 'I': sum +=1;
- numBefore = 1;
- break;
- case 'i': sum +=1;
- numBefore = 1;
- break;
- case 'V': sum +=5;
- if(5 > numBefore)
- sum == sum -(numBefore * 2 );
- numBefore = 5;
- break;
- case 'v': sum +=5;
- if(5 > numBefore)
- sum == sum -(numBefore * 2 );
- numBefore = 5;
- break;
- case 'X': sum +=10;
- if(10 > numBefore)
- sum == sum -(numBefore * 2 );
- numBefore = 10;
- break;
- case 'x': sum +=10;
- if(10 > numBefore)
- sum == sum -(numBefore * 2 );
- numBefore = 10;
- break;
- case 'L': sum +=50;
- if(50 > numBefore)
- sum == sum -(numBefore * 2 );
- numBefore = 50;
- break;
- case 'l': sum +=50;
- if(50 > numBefore)
- sum == sum -(numBefore * 2 );
- numBefore = 50;
- break;
- case 'C': sum +=100;
- if(100 > numBefore)
- sum == sum -(numBefore * 2 );
- numBefore = 100;
- break;
- case 'c': sum +=100;
- if(100 > numBefore)
- sum == sum -(numBefore * 2 );
- numBefore = 100;
- break;
- case 'D' : sum +=500;
- if(500 > numBefore)
- sum == sum -(numBefore * 2 );
- numBefore = 500;
- break;
- case 'd' : sum +=500;
- if(500 > numBefore)
- sum == sum -(numBefore * 2 );
- numBefore = 500;
- break;
- case 'M' : sum +=1000;
- if(1000 > numBefore)
- sum == sum -(numBefore * 2 );
- numBefore = 1000;
- break;
- case 'm' : sum +=1000;
- if(1000 > numBefore)
- sum == sum -(numBefore * 2 );
- numBefore = 1000;
- break;
- }
- }
- decimalNum = sum;
- }
- romanType::romanType()
- {
- romanNum = 'I';
- decimalNum = 1;
- }
- romanType::romanType(string rString)
- {
- romanNum = rString;
- romanToDecimal();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement