毕业论文论文范文课程设计实践报告法律论文英语论文教学论文医学论文农学论文艺术论文行政论文管理论文计算机安全
您现在的位置: 毕业论文 >> 课程设计 >> 正文

C++将输入的罗马数据化为10进制数

更新时间:2011-5-28:  来源:毕业论文

C++将输入的罗马数据化为10进制数
1.1 需求分析::
程序主要解决的是:将输入的罗马数据化为10进制数。假设罗马数据中只使用如下7个“基值”字母:M、D、C、L、X、V、I,分别用来表示1000、500、100、50、10、5、1。如,罗马数据LXXXVII表示10进制的87。
将输入的10进制正整数转换为罗马数据。假设罗马数据中只使用“基值”字母:M、D、C、L、X、V、I,分别用来表示1000、500、100、50、10、5、1。
 程序执行的结果:
1.2 概要设计:
本程序为一个翻译程序,肯将一种表达形式换算成另一种表达形式。该题是把罗马数字转换成十进制数,初步设想:输入一个字符数组,即一个罗马数字,然后按照其位数上的权值展开后输出,即输出一个十进制数。
流程图:
 1.3   详细设计与编码:见上传程序。
1.4  调试分析:
   该程序if else语句较多,所以在编起来有点绕口,所以在编写的时候要注意些,同时要根据题目的要求对准每个字符的权值,然后赋给a即可。
调试中的问题及总结:
1.定义int型的基值,并初始化为0,否则其值是一个任意的。

1.5   用户使用说明:
  用户在使用过程中只需按照要求输入正确的罗马数字即可。

1.6  设计心得:
   该题目设置较为简单,但是程序编写较为繁琐,做本次实验需要很大的耐心和信心,做完本次实验使我懂得做实验不仅要有技术还需要细心和耐心。
#include<iostream>
#include<string>
using namespace std;
void main()
{
 char c='y';
 int select,d=0;
 string rome;//罗马数据
 while(c!='n')
 {
  cout<<"请选择:"<<endl;
  cout<<"罗马数据--->10进制数(按1)"<<endl;
  cout<<"10进制数--->罗马数据(按2)"<<endl;
  
  cin>>select;
  cout<<endl;//选择模式

  if(select==1)
  {
   cout<<"请输入罗马数据:";
   cin>>rome;
   int i=0;
   
   for(i=0;rome[i]!='\0';i++)
   { 
    if(rome[i]=='M') d=d+1000;
             if(rome[i]=='D') d=d+500;
             if(rome[i]=='C') d=d+100;
             if(rome[i]=='L') d=d+50;
             if(rome[i]=='X') d=d+10;
             if(rome[i]=='V') d=d+5;
             if(rome[i]=='I') d=d+1;
   }
 
   cout<<'\n'<<"转化成十进制数为:"<<d<<endl;
  }
  
  if(select==2)
  {
原文请找腾讯752018766优,文-论'文.网http://www.youerw.com/ 
   V=(d-M*1000-D*500-C*100-L*50-X*10)/5;
   I=d-M*1000-D*500-C*100-L*50-X*10-V*5;

   int str[7]={M,D,C,L,X,V,I};
   char t[7]={'M','D','C','L','X','V','I'};
   int i,j;
   cout<<'\n'<<"转化成罗马数据为:";
    for(i=0;i<7;i++)
     for(j=0;j<str[i];j++)
      cout<<t[i];

  }
        cout<<endl;
  cout<<"继续吗?YES(y)/NO(n)"<<endl;
  cin>>c;
 }
 cout<<"谢谢使用!"<<endl; 1861

C++将输入的罗马数据化为10进制数下载如图片无法显示或论文不完整,请联系qq752018766
设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优文论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。