1 Chuyển số La Mã sang số Ả rập Thu Aug 18, 2011 9:17 pm
El Kun
Super Moderator
Chuyển số La Mã sang số Ả rập
- Code:
#include <iostream>
#include <conio.h>
#include <string.h>
int doigt(char chuoi[],int i);
void loi();
void main()
{
char chuoi[20];
cout<<"Nhap chuoi:";
cin.get(chuoi,20);
int nam=0;
for(int i=0;i<strlen(chuoi);i++)
nam+=doigt(chuoi,i);
cout<<nam<<endl;
getch();
}
int doigt(char chuoi[],int i)
{
if(!(chuoi[i]=='I'||chuoi[i]=='V'||chuoi[i]=='X'||chuoi[i]=='L'||chuoi[i]=='C'||chuoi[i]=='D'||chuoi[i]=='M'))
loi();
if(chuoi[i]==chuoi[i+1]&&chuoi[i]==chuoi[i+2]&&chuoi[i]==chuoi[i+3])
loi();
if(chuoi[i]=='I')
if(chuoi[i+1]=='V'||chuoi[i+1]=='X')
{
if(chuoi[i+2]=='V'||chuoi[i+2]=='X')
loi();
else
return -1;
}
else
return 1;
if(chuoi[i]=='V')
return 5;
if(chuoi[i]=='X')
if(chuoi[i+1]=='L'||chuoi[i+1]=='C')
{
if(chuoi[i+2]=='L'||chuoi[i+2]=='C')
loi();
else
return -10;
}
else
return 10;
if(chuoi[i]=='L')
return 50;
if(chuoi[i]=='C')
if(chuoi[i+1]=='D'||chuoi[i+1]=='M')
{
if(chuoi[i+2]=='D'||chuoi[i+2]=='M')
loi();
else
return -100;
}
else
return 100;
if(chuoi[i]=='D')
return 500;
if(chuoi[i]=='M')
return 1000;
}
void loi()
{
cout<<"Day so tren khong hop le."<<endl;
}