one.cpp

来自「简单的罗马数字转换程序」· C++ 代码 · 共 91 行

CPP
91
字号
//add comments//constructor#include <iostream>#include <string>using namespace std;class Roman{	private:		string romanIn;		int result;		void convert();	public:		void setRoman(string);		void printDecimal();};void Roman::setRoman(string s){	romanIn = s;}void Roman::printDecimal(){	convert();	cout << result;}void Roman::convert(){	int* dec = new int[romanIn.size()];		for(unsigned int i=0;i<romanIn.size();++i)	{		switch(romanIn[i])		{			case 'M':				dec[i] = 1000;				break;			case 'D':				dec[i] = 500;				break;			case 'C':				dec[i] = 100;				break;			case 'L':				dec[i] = 50;				break;			case 'X':				dec[i] = 10;				break;			case 'V':				dec[i] = 5;				break;			case 'I':				dec[i] = 1;				break;		}	}		result = 0;		for(unsigned int i=0;i<romanIn.size()-1;++i)	{		if(dec[i]<dec[i+1])			result -= dec[i];		else			result += dec[i];	}	result += dec[romanIn.size()-1];		delete [] dec;}int main(){	Roman roman;	string romanString;	cout << "Enter a roman number: ";	cin >> romanString;	cout << endl;	roman.setRoman(romanString);	cout << "The equivalent of the Roman numeral " << romanString << " is ";	roman.printDecimal();	cout << endl;		return 0;}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?