主题:我编译通过 为什么不能连接
#include<iostream>
#include<afx.h>
#include<string.h>
using namespace std;
class Student
{
public:
char m_strName[10];
char m_Sex[6];
int m_nAge;
char m_strDept[20];
float m_math;
Student(){}
Student(char *name,char *sex,int age,char *dept,float math);
void SaveStudent(CFile * fp){fp->Write(this,sizeof(Student));}
void ReadStudent(CFile * fp){fp->Read(this,sizeof(Student));}
void ShowMe(){
cout<<m_strName<<"\t"<<m_Sex<<"\t"<<m_nAge<<"\t";
cout<<m_strDept<<"\t"<<m_math<<endl;}
};
Student::Student(char *name,char *sex,int age,char *dept,float salary)
{
strcpy(m_strName,name);
strcpy(m_Sex,sex);
m_nAge=age;
strcpy(m_strDept,dept);
m_math=salary;
}
void main()
{
int count=0;
Student stu[50];
int i,j,age;
float salary;
CFile myfile;
CFileException e;
char name[10],sex[6],dept[20];
for(;;)
{
cout<<"1.显示所有 2.增加学生 3.删除学生";
cout<<"4.存储信息 5.读取信息 6.退出\n ";
cout<<"请输入选项编号:";
cin>>i;
switch(i){
case 1:
cout<<endl<<"_______________________________________"<<endl;
for(i=0;i<count;i++)
{
cout<<" "<<i+1<<"\t";
stu[i].ShowMe();
}
cout<<"_____________________________________"<<endl;
break;
case 2:
if(count<50){
i=count++;
cout<<"请依次输入姓名,性别,年龄,所在系部,数学成绩:\n";
cin>>name>>sex>>age>>dept>>salary;
stu[i]=Student(name,sex,age,dept,salary);
strcpy(stu[i].m_strDept,dept);
stu[i].m_math=salary;
}
else {cout<<"储存空间已满";}
break;
case 3:
cout<<"输入要删除的学生号:\t";
cin>>i;
if(i<=count&&i>0)
{for(j=i;j<count;j++) {stu[j-1]=stu[j];}
count--;
cout<<"\n--记录已删除--\n\n";
}
else{cout<<"输入错误";}
break;
case 4:
myfile.Open("emp_Rec",CFile::modeWrite|CFile::modeCreate,&e);
myfile.Write(&count,sizeof(count));
for(j=0;j<count;j++) stu[j].SaveStudent(& myfile);
cout<<"\n--学生信息已保存--\n\n";
break;
case 5:
if(myfile.Open("em_Rec",CFile::modeRead,&e))
{
myfile.Read(&count,sizeof(count));
for(j=0;j<count;j++) stu[j].ReadStudent(& myfile);
myfile.Close();
cout<<"\n--学生信息已读入--\n\n";
}
else { cout<<"\n--文件打开失败--\n\n";}
break;
default:
return ;
}
}
}
#include<afx.h>
#include<string.h>
using namespace std;
class Student
{
public:
char m_strName[10];
char m_Sex[6];
int m_nAge;
char m_strDept[20];
float m_math;
Student(){}
Student(char *name,char *sex,int age,char *dept,float math);
void SaveStudent(CFile * fp){fp->Write(this,sizeof(Student));}
void ReadStudent(CFile * fp){fp->Read(this,sizeof(Student));}
void ShowMe(){
cout<<m_strName<<"\t"<<m_Sex<<"\t"<<m_nAge<<"\t";
cout<<m_strDept<<"\t"<<m_math<<endl;}
};
Student::Student(char *name,char *sex,int age,char *dept,float salary)
{
strcpy(m_strName,name);
strcpy(m_Sex,sex);
m_nAge=age;
strcpy(m_strDept,dept);
m_math=salary;
}
void main()
{
int count=0;
Student stu[50];
int i,j,age;
float salary;
CFile myfile;
CFileException e;
char name[10],sex[6],dept[20];
for(;;)
{
cout<<"1.显示所有 2.增加学生 3.删除学生";
cout<<"4.存储信息 5.读取信息 6.退出\n ";
cout<<"请输入选项编号:";
cin>>i;
switch(i){
case 1:
cout<<endl<<"_______________________________________"<<endl;
for(i=0;i<count;i++)
{
cout<<" "<<i+1<<"\t";
stu[i].ShowMe();
}
cout<<"_____________________________________"<<endl;
break;
case 2:
if(count<50){
i=count++;
cout<<"请依次输入姓名,性别,年龄,所在系部,数学成绩:\n";
cin>>name>>sex>>age>>dept>>salary;
stu[i]=Student(name,sex,age,dept,salary);
strcpy(stu[i].m_strDept,dept);
stu[i].m_math=salary;
}
else {cout<<"储存空间已满";}
break;
case 3:
cout<<"输入要删除的学生号:\t";
cin>>i;
if(i<=count&&i>0)
{for(j=i;j<count;j++) {stu[j-1]=stu[j];}
count--;
cout<<"\n--记录已删除--\n\n";
}
else{cout<<"输入错误";}
break;
case 4:
myfile.Open("emp_Rec",CFile::modeWrite|CFile::modeCreate,&e);
myfile.Write(&count,sizeof(count));
for(j=0;j<count;j++) stu[j].SaveStudent(& myfile);
cout<<"\n--学生信息已保存--\n\n";
break;
case 5:
if(myfile.Open("em_Rec",CFile::modeRead,&e))
{
myfile.Read(&count,sizeof(count));
for(j=0;j<count;j++) stu[j].ReadStudent(& myfile);
myfile.Close();
cout<<"\n--学生信息已读入--\n\n";
}
else { cout<<"\n--文件打开失败--\n\n";}
break;
default:
return ;
}
}
}