读书人

函数有关问题

发布时间: 2012-02-27 10:00:22 作者: rapoo

函数问题
下面的代码哪里错了,请高手指点一下!! 其中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;    } 

读书人网 >C++

热点推荐