📄 913.cpp
字号:
#include<fstream.h>
#include<iomanip.h>
#include<string.h>
const int N=5;
class student
{
public:
void input(void);
void sta(void);
float get_av(void);
int get_no(void);
const char* get_na(void);
void display(void);
private:
int sno;
char name[20];
int score[3];
float aver;
};
void student::input(void)
{
int i;
cout<<"请输入学生的信息:"<<endl;
cin>>sno>>name;
for(i=0;i<3;i++)
cin>>score[i];
}
void student::sta(void)
{
int i;
float sum;
for(i=0,sum=0;i<3;i++)
sum+=score[i];
aver=sum/3;
}
float student::get_av(void)
{
return(aver);
}
int student::get_no(void)
{
return(sno);
}
const char* student::get_na(void)
{
return(name);
}
void student::display(void)
{
int i;
cout<<"学号:"<<sno<<endl;
cout<<"姓名:"<<name<<endl;
cout<<"成绩:";
for(i=0;i<3;i++)
cout<<setw(3)<<score[i];
cout<<endl<<"平均成绩:"<<aver<<endl;
}
int main()
{
ifstream file;
int i,k,n,sno;
bool flag;
char name[20];
student a[N];
file.open("sort.dat",ios::in|ios::binary);//二进制方式
if(!file)
{
cerr<<"文件打开失败!"<<endl;
return(1);
}
for(i=0;!file.eof()&&i<N;i++)
file.read((char*)(a+i),sizeof(student));
n=i;
while(true)
{
cout<<"请输入选择:1表示学号,2表示姓名,3表示结束"<<endl;
cin>>k;
flag=false;
if(k==1)
{
cout<<"请输入学号:"<<endl;
cin>>sno;
for(i=0;i<n;i++)
if(sno==a[i].get_no())
{
flag=true;
break;
}
}
else if(k==2)
{
cout<<"请输入姓名:"<<endl;
cin>>name;
for(i=0;i<n;i++)
if(strcmp(name,a[i].get_na())==0)
{
flag=true;
break;
}
}
else if(k==3)
{
cout<<"查找结束!"<<endl;
break;
}
if(flag==true)
a[i].display();
else
cout<<"没有找到!"<<endl;
}
file.close();//关闭文件
return(0);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -