本题要求编写程序,录入N条学生的信息,并且按查询要求显示学生成绩等信息。
给出一名学生的信息。 其中学号是11位数字;姓名是不超过10个字符、不包含空格的非空字符串;成绩是<=100的非负整数;
在学生信息输入完成后,给出要查询的姓名。
这是一道比较基础的结构体的题,结合“查找”的方法,即先定义flag=0,若查找到,则flag=1,最后再判断查找不到的情况即可。
#include<iostream>
using namespace std;
struct student
{
string num;
string name;
int math;
int English;
int c;
int physics;
}a[100];
int main()
{
int n,flag=0; //定义一个flag实现查询功能
string name2;
cin>>n;
for(int i=0;i<n;i++)
cin>>a[i].num>>a[i].name>>a[i].math>>a[i].English>>a[i].c>>a[i].physics;
cin>>name2;
for(int i=0;i<n;i++)
{
if(name2==a[i].name)
{
flag=1; //查询到flag=1
cout<<a[i].num<<" "<<a[i].name<<" "<<a[i].math<<" "<<a[i].English<<" "<<a[i].c<<" "<<a[i].physics<<endl;
}
}
if(flag==0) //反面情况
cout<<"Not Found!"<<endl;
return 0;
}