首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

函数有关问题

2012-02-27 
函数问题下面的代码哪里错了,请高手指点一下!! 其中a.txt中的字符串为数字#includeiostream#includesst

函数问题
下面的代码哪里错了,请高手指点一下!! 其中a.txt中的字符串为数字
#include<iostream>
#include<sstream>
#include<fstream>
#include<vector>
#include<algorithm>
using namespace std;
typedef vector<string> c;
void a(string&,string&);
int main()
{
  ifstream cin("a.txt");
  ofstream cout("b.txt");
  c e;
  for(string s;cin>>s;)
  e.push_back(s);
  unsigned int i;
  for(i=0;i<e.size()-1;i++)
 
  a(e[i],e[i+1]);
  cout<<e[i+1]<<endl;
 

}
void a(string& a,string &b)
{
 unsigned int h,q;
  string s;
  h=a.length();
  q=b.length();
  if (h > q) 
  {
  s=a;
  a=b;
  b=s;

  }

  int g,y=0,i,j;
  for( i=a.length()-1,j=b.length()-1;i && j;j--,i--)
{
  g=a[i]-'0'+b[j]-'0';
  g=g%10;
  b[j]=g+'0'+y;
  y=g/10;

  }
  b[j]=b[j]+y;

}
//---------------------------------------


[解决办法]
ifstream cin("a.txt");
ofstream cout("b.txt"); 

上面的名应该是保留字,最好改了,如改成:
ifstream fin("a.txt");
ofstream fout("b.txt");



后面加:
fin.close();
fout.close();
[解决办法]
int main()
{
ifstream cin("a.txt");
ofstream cout("b.txt");
c e;
for(string s;cin>>s;)
e.push_back(s);
unsigned int i;
for(i=0;i <e.size()-1;i++)
{a(e[i],e[i+1]);
cout <<e[i+1] <<endl;
}


}
[解决办法]

C/C++ code
 //按楼主的要求,这里少了{}//命名是无所谓的,因为这是在function scope内 for(i=0;i <e.size()-1;i++)    {       a(e[i],e[i+1]);    cout <<e[i+1] <<endl;    } 

热点排行