Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <fstream>
- using namespace std;
- const int M = 1000;
- const int D = 500;
- const int C = 100;
- const int L = 50;
- const int X = 10;
- const int V = 5;
- const int I = 1;
- int main()
- {
- ifstream f("fis.in");
- int i, c_arabic=0,nr=0, c_arabicp, ok=1;
- char c,p;
- //retin cifra precedenta
- f>>p;
- switch( p )
- {
- case 'M':
- c_arabicp= M;
- break;
- case 'D':
- c_arabicp = D;
- break;
- case 'C':
- c_arabicp = C;
- break;
- case 'L':
- c_arabicp = L;
- break;
- case 'X':
- c_arabicp = X;
- break;
- case 'V':
- c_arabicp = V;
- break;
- case 'I':
- c_arabicp = I;
- break;
- default:
- {
- cout<<"Not a valid Roman numeral!" ;
- ok=0;
- break;
- }
- }
- cout<<c_arabicp<<endl;
- while(f>>c && ok==1)
- {
- //citesc cifra curenta
- switch( c )
- {
- case 'M':
- c_arabic = M;
- break;
- case 'D':
- c_arabic = D;
- break;
- case 'C':
- c_arabic = C;
- break;
- case 'L':
- c_arabic = L;
- break;
- case 'X':
- c_arabic = X;
- break;
- case 'V':
- c_arabic = V;
- break;
- case 'I':
- c_arabic = I;
- break;
- default:
- {
- cout<<"Not a valid Roman numeral!" ;
- ok=0;
- break;
- }
- }
- if(ok)
- {
- if(c_arabicp<c_arabic)
- nr=nr-c_arabicp;
- else
- nr=nr+c_arabicp;
- c_arabicp=c_arabic;
- }
- }
- if(ok)
- {
- nr=nr+c_arabicp;
- cout<<nr;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement