| 订阅 | 在线投稿
分享
 
 
当前位置: 王朝网络 >> c/c++ >> C++ ji suan si ze biao da shi de mo ban

C++ ji suan si ze biao da shi de mo ban

2008-06-01 02:11:04 编辑來源:互联网 评论
 
 
 
本文为【C++计算四则表达式的模板】的拼音翻译版
  zai 9 yue 8 ri na tian wo te yi bian xie gei da jia fen xiang de , yi ge hen fang bian de C++ han shu mo ban , ke yi bing qie zhi ke yi ji suan han kuo hao de si ze biao da shi , zhi you yi ge han shu jie kou :int GetEXPValue(_Tstream& istrin, _T& nReturn)
  shen shu jie shi :
  istrin: yi ge shu ru liu , ke yi shi biao zhun IO liu , ke yi shi wen jian liu , ye ke yi shi chuan liu
  nReturn: yong yu jie shou ji suan jie guo de bian liang , ji suan suo shi yong de lei xing you zhe ge bian liang que ding
  fan hui zhi :
  fan hui fei 0 biao shi ji suan cheng gong ,0 biao shi ji suan shi bai you cuo wu
  cheng xu dai ma :
  
  yi xia shi yin yong pian duan :
  namespace fy_Exp{
  namespace {template
  inline _T GetExpValue(_T t[], char& csym){
  char c=csym; csym=0;
  switch(c){
  case '+':return t[0] += t[1];
  case '-':return t[0] -= t[1];
  case '*':return t[0] *= t[1];
  default: return t[0] /= t[1];//case '/':
  }
  }}
  template
  /* _Tstream: inputstream, _T: get return value
  * Return nonzero if get value sUCcessfully */
  int GetExpValue(_Tstream& istrin, _T& nReturn){
  _T t[3] = {0}; // yu zhong fei yan zhi zuo
  char csym[3] = "++";
  int nLevel = 1, nERR = 0;
  if(!(istrin>>t[1]))istrin.clear();
  for(;;){
  if(istrin>>csym[2]){
  switch(csym[2]){
  case '(':
  if(!csym[1]){nLevel=0x100; nERR=1;}else
  if(!GetExpValue(istrin, t[2]))nLevel=0x10;
  else{nLevel=0x100; nERR=1;}
  break;
  case ')':
  {nLevel = 0x100;}break;
  case '+':case '-':case '*':case '/':
  {csym[nLevel++] = csym[2];}break;
  case ' ':case '\r':case '\n':case '\t':continue;
  default:
  {nLevel=0x100; nERR=1;}
  }
  if(nLevel==0x100)break;
  if(nLevel&0x10 istrin>>t[2]){
  nLevel &= 0xF;
  if(nLevel==1){t[1]=t[2];csym[1]=0;continue;}
  if(csym[1]=='*'csym[1]=='/'){
  GetExpValue(t+1, csym[1]);
  }
  else{
  GetExpValue(t, csym[0]);
  t[1]=t[2];csym[0]=csym[1];csym[1]=0;
  }
  nLevel = 1;
  }
  else istrin.clear();
  }
  else{nERR = -1; break;}
  }
  if(csym[1])t[2]=0,nReturn=GetExpValue(t+1, csym[1]);
  else nReturn=GetExpValue(t, csym[0]);
  return nERR==-1?1:0;
  }}
  han shu mo ban shi yong shi li :
  zai yi shang na duan dai ma de hou mian jia shang yi xia dai ma :
  
  yi xia shi yin yong pian duan :
  cheng xu dai ma :
  #include
  #include
  #include
  using namespace std;
  int main(void)
  {
  string s1;
  while(cin>>s1)
  {
  istrstream isin(s1.data());
  double d;
  if(fy_Exp::GetExpValue(isin, d))
  {
  cout<
  }
  else
  {
  cout<<"ERROR"<
  }
  }
  return 0;
  }
  ran hou bian yi zhi xing jiu ke yi le 。
  qi ta :TC++ shang yi ding bian yi cuo wu , bu bao zheng zai VC6 shang ye neng tong guo bian yi 。
  jian yi shi yong VC7 huo VC geng gao ban ben , huo zhe shi yong GNU C++ bian yi【原文】【汉音对照
 
 
 
 
 
 
 
 
 
日版宠物情人插曲《Winding Road》歌词

日版宠物情人2017的插曲,很带节奏感,日语的,女生唱的。 最后听见是在第8集的时候女主手割伤了,然后男主用嘴帮她吸了一下,插曲就出来了。 歌手:Def...

兄弟共妻,我成了他们夜里的美食

老钟家的两个儿子很特别,就是跟其他的人不太一样,魔一般的执着。兄弟俩都到了要结婚的年龄了,不管自家老爹怎么磨破嘴皮子,兄弟俩说不娶就不娶,老父母为兄弟两操碎了心...

如何磨出破洞牛仔裤?牛仔裤怎么剪破洞?

把牛仔裤磨出有线的破洞 1、具体工具就是磨脚石,下面垫一个硬物,然后用磨脚石一直磨一直磨,到把那块磨薄了,用手撕开就好了。出来的洞啊很自然的。需要猫须的话调几...

我就是扫描下图得到了敬业福和爱国福

先来看下敬业福和爱国福 今年春节,支付宝再次推出了“五福红包”活动,表示要“把欠大家的敬业福都还给大家”。 今天该活动正式启动,和去年一样,需要收集“五福”...

冰箱异味产生的原因和臭味去除的方法

有时候我们打开冰箱就会闻到一股异味,冰箱里的这种异味是因为一些物质发出的气味的混合体,闻起来让人恶心。 产生这些异味的主要原因有以下几点。 1、很多人有这种习...

 
 
   zai 9 yue 8 ri na tian wo te yi bian xie gei da jia fen xiang de , yi ge hen fang bian de C++ han shu mo ban , ke yi bing qie zhi ke yi ji suan han kuo hao de si ze biao da shi , zhi you yi ge han shu jie kou :int GetEXPValue(_Tstream& istrin, _T& nReturn)    shen shu jie shi :   istrin: yi ge shu ru liu , ke yi shi biao zhun IO liu , ke yi shi wen jian liu , ye ke yi shi chuan liu   nReturn: yong yu jie shou ji suan jie guo de bian liang , ji suan suo shi yong de lei xing you zhe ge bian liang que ding    fan hui zhi :    fan hui fei 0 biao shi ji suan cheng gong ,0 biao shi ji suan shi bai you cuo wu    cheng xu dai ma : yi xia shi yin yong pian duan :   namespace fy_Exp{   namespace {template   inline _T GetExpValue(_T t[], char& csym){   char c=csym; csym=0;   switch(c){   case '+':return t[0] += t[1];   case '-':return t[0] -= t[1];   case '*':return t[0] *= t[1];   default: return t[0] /= t[1];//case '/':   }   }}   template   /* _Tstream: inputstream, _T: get return value   * Return nonzero if get value sUCcessfully */   int GetExpValue(_Tstream& istrin, _T& nReturn){   _T t[3] = {0}; // yu zhong fei yan zhi zuo   char csym[3] = "++";   int nLevel = 1, nERR = 0;   if(!(istrin>>t[1]))istrin.clear();   for(;;){   if(istrin>>csym[2]){   switch(csym[2]){   case '(':   if(!csym[1]){nLevel=0x100; nERR=1;}else   if(!GetExpValue(istrin, t[2]))nLevel=0x10;   else{nLevel=0x100; nERR=1;}   break;   case ')':   {nLevel = 0x100;}break;   case '+':case '-':case '*':case '/':   {csym[nLevel++] = csym[2];}break;   case ' ':case '\r':case '\n':case '\t':continue;   default:   {nLevel=0x100; nERR=1;}   }   if(nLevel==0x100)break;   if(nLevel&0x10 istrin>>t[2]){   nLevel &= 0xF;   if(nLevel==1){t[1]=t[2];csym[1]=0;continue;}   if(csym[1]=='*'csym[1]=='/'){   GetExpValue(t+1, csym[1]);   }   else{   GetExpValue(t, csym[0]);   t[1]=t[2];csym[0]=csym[1];csym[1]=0;   }   nLevel = 1;   }   else istrin.clear();   }   else{nERR = -1; break;}   }   if(csym[1])t[2]=0,nReturn=GetExpValue(t+1, csym[1]);   else nReturn=GetExpValue(t, csym[0]);   return nERR==-1?1:0;   }}    han shu mo ban shi yong shi li :    zai yi shang na duan dai ma de hou mian jia shang yi xia dai ma : yi xia shi yin yong pian duan :    cheng xu dai ma :   #include   #include   #include   using namespace std;   int main(void)   {   string s1;   while(cin>>s1)   {   istrstream isin(s1.data());   double d;   if(fy_Exp::GetExpValue(isin, d))   {   cout<   }   else   {   cout<<"ERROR"<   }   }   return 0;   }    ran hou bian yi zhi xing jiu ke yi le 。    qi ta :TC++ shang yi ding bian yi cuo wu , bu bao zheng zai VC6 shang ye neng tong guo bian yi 。    jian yi shi yong VC7 huo VC geng gao ban ben , huo zhe shi yong GNU C++ bian yi
󰈣󰈤
  免责声明:本文仅代表作者个人观点,与王朝网络无关。王朝网络登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述,其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
清凉一夏_清纯美丽
纯白色小礼服
靓丽可人儿_嘉嘉
我的女神_靓丽女生
主题摄影
贵州,让我欢喜,让我神伤。
莫干山
天平秋色
 
>>返回首页<<
 
 
 为你推荐
 
 
 
 转载本文
 UBB代码 HTML代码
复制到剪贴板...
 
 热帖排行
 
 
 
 
 
©2005- 王朝网络 版权所有