PTA 学生成绩录入及查询 (20分)

Posted karshey

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PTA 学生成绩录入及查询 (20分)相关的知识,希望对你有一定的参考价值。

学生成绩表中,一名学生的信息包含如下信息: 学号(11位)、姓名、数学成绩、英语成绩、程序设计成绩、物理成绩。

本题要求编写程序,录入N条学生的信息,并且按查询要求显示学生成绩等信息。

输入格式:
输入在第一行给出正整数N(N<=10);随后N行,每行按格式:

学号 姓名 数学成绩 英语成绩 程序设计成绩 物理成绩
给出一名学生的信息。 其中学号是11位数字;姓名是不超过10个字符、不包含空格的非空字符串;成绩是<=100的非负整数;

在学生信息输入完成后,给出要查询的姓名。

输出格式:
对查询的姓名的每一名学生,在一行中按照如下格式输出:

学号 姓名 数学成绩 英语成绩 程序设计成绩 物理成绩

如果有相同姓名的同学,输出全部同学的信息,每名同学一行; 如果要查询的学生不存在,则输出:

Not Found!

输入样例:
在这里给出一组输入。例如:

4
20201003012 LiWen 68 90 78 86
20201003012 HeHua 91 88 80 82
20201002121 WangFang 78 78 82 90
20201002112 ZhengYi 56 83 77 80
ZhengYi

输出样例:
在这里给出相应的输出。例如:

20201002112 ZhengYi 56 83 77 80

发现一个坑:
如果我在自己键盘是中文输入法的时候直接复制Not Found!(本身是英文输入法打进去的),那么它的感叹号会自动变成中文版的,于是就输出错误…
幸好中文的感叹号有空格,很容易就看出来了。

#include<iostream>
using namespace std;
int main()

	int n;
	cin>>n;
	
	struct student
	
		string num;
		string name;
		int math,english,c,wuli;
	stud[11];
	
	for(int i=0;i<n;i++)
	
		cin>>stud[i].num>>stud[i].name>>stud[i].math>>stud[i].english>>stud[i].c>>stud[i].wuli;
	
	
	string name2;
	cin>>name2;
	
	int flag=0;
	for(int i=0;i<n;i++)
	
		if(name2==stud[i].name)
		
			flag++;
               if(flag!=1)  cout<<endl;
               cout<<stud[i].num<<" "<<stud[i].name<<" "<<stud[i].math<<" "<<stud[i].english<<" "<<stud[i].c<<" "<<stud[i].wuli;	
							
				
	if(flag==0)  cout<<"Not Found!";			
	return 0;

以上是关于PTA 学生成绩录入及查询 (20分)的主要内容,如果未能解决你的问题,请参考以下文章

用SQL做了一个学生成绩管理的数据库,怎么查询成绩不及格的学生的学号和姓名啊

创建学生成绩表单,包括信息:学生学号,姓名和3门课程的成绩。

[PTA]实验9-6 按等级统计学生成绩

学生成绩管理程序

PTA 统计成绩2 (10分)

学生成绩信息管理