C++代码出现 fatal error C1004: unexpected end of file found 请帮帮忙查找错误原因
#include<iostream>#include<string>#include<fstream>usingnamespacestd;classemployee{pu...
#include<iostream>
#include <string>
#include<fstream>
using namespace std;
class employee
{
public:
int Num;
string Name;
int Age;
double Salary;
employee(){}
employee(int num, string name,int age,double salary):
Num(num),Name(name),Age(age),Salary(salary){}
void savetofile(employee e[5])
{
int employee[5];
int nums;
nums=0;
ifstream in;
in open ("file.txt",ios::in);
while(!in.eof()))
{in>>>employee[nums].Num>>employee[nums].Name>>employee[nums].Age>>employee[nums].Salary
nums++;
}
in.close();
void outformfile()
{
ofstream out;
out.open("file.txt",ios::out);
for(int i=0;i<nums;i++)
{
out<<endl<<employee[nums].Num
<<" "<<employee[nums].Name
<<" "<<employee[nums].Age
<<" "<<employee[nums].Salary;
}
out.close();
}
void inserfile()
{
employee e;
cin>>e.Num>>e. Name>>e.Age>>e.Salary;
employee [nums++]=e;
}
void findfile()
{
for(int i=0;i<7;i++)
{
if(employee[i].Num==6)
cout<< employee[nums].Num
<<" "<<employee[nums].Name
<<" "<<employee[nums].Age
<<" "<<employee[nums].Salary;y;
else cout<<"无此人"<<endl;
}
}
};
int main()
{
savetofile();
outfromfile();
inserfile();
findfile();
findfile();
return 0;
} 展开
#include <string>
#include<fstream>
using namespace std;
class employee
{
public:
int Num;
string Name;
int Age;
double Salary;
employee(){}
employee(int num, string name,int age,double salary):
Num(num),Name(name),Age(age),Salary(salary){}
void savetofile(employee e[5])
{
int employee[5];
int nums;
nums=0;
ifstream in;
in open ("file.txt",ios::in);
while(!in.eof()))
{in>>>employee[nums].Num>>employee[nums].Name>>employee[nums].Age>>employee[nums].Salary
nums++;
}
in.close();
void outformfile()
{
ofstream out;
out.open("file.txt",ios::out);
for(int i=0;i<nums;i++)
{
out<<endl<<employee[nums].Num
<<" "<<employee[nums].Name
<<" "<<employee[nums].Age
<<" "<<employee[nums].Salary;
}
out.close();
}
void inserfile()
{
employee e;
cin>>e.Num>>e. Name>>e.Age>>e.Salary;
employee [nums++]=e;
}
void findfile()
{
for(int i=0;i<7;i++)
{
if(employee[i].Num==6)
cout<< employee[nums].Num
<<" "<<employee[nums].Name
<<" "<<employee[nums].Age
<<" "<<employee[nums].Salary;y;
else cout<<"无此人"<<endl;
}
}
};
int main()
{
savetofile();
outfromfile();
inserfile();
findfile();
findfile();
return 0;
} 展开
5个回答
展开全部
#include<iostream>
#include <string>
#include<fstream>
using namespace std;
class employee{
public:
int Num;
string Name;
int Age;
double Salary;
employee(){}
employee(int num, string name,int age,double salary):Num(num),Name(name),Age(age),Salary(salary){}
void savetofile(employee e[5]){
int employee[5];
int nums;
nums=0;
ifstream in;
in open ("file.txt",ios::in);
while(!in.eof())){
in>>>employee[nums].Num>>employee[nums].Name>>employee[nums].Age>>employee[nums].Salary;
nums++;
}
in.close();
}
void outformfile(){
ofstream out;
out.open("file.txt",ios::out);
for(int i=0;i<nums;i++){
out<<endl<<employee[nums].Num
<<" "<<employee[nums].Name
<<" "<<employee[nums].Age
<<" "<<employee[nums].Salary;
}
out.close();
}
void inserfile(){
employee e;
cin>>e.Num>>e. Name>>e.Age>>e.Salary;
employee [nums++]=e;
}
void findfile(){
for(int i=0;i<7;i++){
if(employee[i].Num==6)
cout<< employee[nums].Num
<<" "<<employee[nums].Name
<<" "<<employee[nums].Age
<<" "<<employee[nums].Salary;y;
else cout<<"无此人"<<endl;
}
}
};
int main(){
employee a;
a.savetofile();
a.outfromfile();
a.inserfile();
a.findfile();
a.findfile();
return 0;
}
我表示你短了一些分号和大括号……
给你程序排了一下版……其他自己看吧……
而且类不生成对象是无法直接使用成员函数的……(用静态成员函数又实现不了功能……)
展开全部
看了一下,发现你的语义都没有搞清楚,比如savetofile方法,参数e从来没有使用过,为什么要添加这么个参数?在方法体内定义了一个int类型的数组,没有初始化,你写出来有什么意义?而且你又要取数组元素的成员如Num,整形有成员吗?在方法outformfile中,nums变量从哪里来?employee数组从哪里来?剩下的就不多说了,这些都是你的语义和语法错误,先整理一下吧。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
应该是在
in.close();
void outformfile()
这里。in.colse()后面加上}来结束该函数的定义。
in.close();
void outformfile()
这里。in.colse()后面加上}来结束该函数的定义。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
感觉都有很大问题:
main函数里能直接调用类成员函数吗,都没对类进行实例化
main函数里能直接调用类成员函数吗,都没对类进行实例化
追问
你的意思是要把那些函数写在类外吗,我的main函数没有问题
追答
肯定要实例化才用用啦,像“离世杀手|五级”回答的那样。
然后savetofile函数里的变量intemployee[5];与类名重复,while(!in.eof()))多了一个右括号
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询