求高手帮忙

2026-01-11 23:55:08
推荐回答(1个)
回答1:

#include
#include
#include
#include
using namespace std;
class student
{
public:
student(string names,string num)
{
name=names;
number=num;
};

student() //定义一个默认构造函数
{};

void print();

string getnumber()
{
return number;
};

void grades(int a[]);

private:

float grade[5];

string name;

string number;
};

void student::print()
{
cout<<"姓名"<<'\t'<<"学号"<<'\t'<<"成绩"< <}

void student::grades(int a[])
{

for(int i=0;i<4;i++)

grade[i]=a[i];

grade[5]=grade[0]*0.5+grade[1]*0.25+(grade[2]+grade[3])*0.125;

}

int main()
{
vector students;

char ans;

do{
student next;

string tpn,tpu;

int grade[4];

cout<<"输入该同学的姓名,确保你输入的姓名有意义且不要用中文,鉴于程序的体积,它不会帮助你进行"<
<<"有效性的检查果你输入错误,它可能直接终止运行,后果会很严重"<
getline(cin,tpn);

cout<<"输入该同学的学号(可以用0打头),确保你输入的学号有意义并且不重复,鉴于程序的体积,它不会帮助你进行"< <<"有效性的检查果你输入错误,它可能直接终止运行,后果会很严重"<
getline(cin,tpu);

next=student(tpn,tpu);

cout<<"请按顺序输入该同学期末,期中考试和两次测验的成绩(用空格隔开),确保你输入的成绩是严格按照顺序的并且"< <<"是有意义的(只能是整数),鉴于程序的体积,它不会帮助你进行"< <<"有效性的检查果你输入错误,它可能直接终止运行,后果会很严重"<
for(int i=0;i<4;i++)

cin>>grade[i];

next.grades(grade);

students.push_back(next);

cout<<"你要结束输入吗?y or n "<
cin>>ans;

}while(ans=='y'||ans=='Y');

cout<<"你想查看某学生的信息吗?n or y?"<
char an;

cin>>an;

if(an=='y'||an=='Y')
cout<<"输入你要查询的学生的学号(不要留下空格),确保它是正确的,存在的,鉴于程序的体积"< <<"它不会帮你进行正确性的检查,如果你输入错误,它可能会终止运行!后果很严重"<
do
{
char ans;

string input;

getline(cin,input);

for(int i=0;i
if(input==students[i].getnumber())
students[i].print();//这里应该是一个公有函数

cout<<"糟糕你输错了,我说了,会很严重"<
exit(1);

cout<<"要继续吗y or n"<
cin>>ans;

}while(ans=='y'||ans=='Y');

return 0;
}
程序语法错误我帮你修改好了楼主,不过我没有看你是做什么的,有事HI我吧