1147

本文介绍了一个简单的学生奖学金评定系统的设计与实现。系统通过输入学生的各项成绩及参与活动情况,自动计算每位学生的奖学金金额,并找出获得最高奖学金的学生及其总金额。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#include <iostream>
#include <string>

using namespace std;

class Student 
{
public:
	Student();
	
	void readinfor();
	bool judge(char );
	int getsum(){return sum;}
	
	int count();
	//int compare();这个设计到各个的比较,所以只能成为普通函数
	void pin();
	
protected:
private:
	int qimo,banji,lunwen;
	char ganbu,xibu;
	bool gan,xi;
	int sum;
	string name;
};
Student::Student(){
	sum=0;
};
void Student::readinfor(){
	cin>>name>>qimo>>banji>>ganbu>>xibu>>lunwen;

}

bool Student::judge(char a){

	if (a=='N')
	{
		return false;
	}
	else if(a=='Y')
	{
		return true;
	}
	else{

		cout<<"出现错误"<<endl;
		return false;
	}

}
int Student::count(){
	if (qimo>80&&lunwen>=1)
	{
		sum+=8000;
	}
	if (qimo>85&&banji>80)
	{
		sum+=4000;
	}
	if (qimo>90)
	{
		sum+=2000;
	}
	if (qimo>85&&(judge(xibu)==true))
	{
		sum+=1000;
	}
	if(banji>80&&(judge(ganbu)==true)){
		
		sum+=850;
	}

	return sum;

}

void  Student::pin(){
	cout<<name<<"\n"<<getsum()<<endl;

}

int main(){
	Student a[100];

	int n,i;
		cin>>n;
	
	int all=0;
	for(i=0;i<n;i++)
	{
		a[i].readinfor();	
	}
	
	int max=a[0].count();
	all+=max;

	for (i=1;i<n;i++)
	{
		
		if (a[i].count()>max)
		{
			max=a[i].getsum();
			
		}
		
		all+=a[i].getsum();

	}
	for (i=0;i<n;i++)
	{
		if (a[i].getsum()==max)
		{
			a[i].pin();
			cout<<all<<endl;
			break;
		}

	}



		return 0;
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值