⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 student.cpp

📁 10个比较经典的C++程序。初学者就先多学习学习别人吧。
💻 CPP
字号:
#include "student.h"
using namespace std;
//设置学生信息
void student::setInfo(string fName, int ID, bool isTPaid, vector<course> courses)
{	person::setName(fName); 			//设置姓名 
	sId = ID;							//设置学生ID
	isTuitionPaid = isTPaid;				//设置是否交过学费
	numberOfCourses = courses.size();	//设置课程数
	coursesEnrolled = courses;			//设置注册的课程
	sort(coursesEnrolled.begin(), coursesEnrolled.end());//根据课程排序
}
student::student(){	numberOfCourses = 0; sId = 0; isTuitionPaid = false;}
void student::print(double tuitionRate)
{	cout<<"Student Name: ";		person::print();
	cout<<"\t ID: "<<sId<<endl;	
	cout<<"Number of courses enrolled: "<<numberOfCourses<<endl;
	cout<<left<<"Course No"<<setw(15)<<"  Course Name"
<<setw(8)<<"Credits"<<setw(6)<<"Grade"<<endl;	
	cout.unsetf(ios::left);
	for(int i = 0; i < numberOfCourses; i++)
	      coursesEnrolled[i].print(isTuitionPaid);
	cout<<"Total number of credit hours: "<<getHoursEnrolled()<<endl;	
	cout<<fixed<<showpoint<<setprecision(2);
	if(isTuitionPaid)	   cout<<"Midsemester GPA: "<<getGpa()<<endl;
	else
	{   cout<<"*** Grades are being held for not paying "<<"the tuition. ***"<<endl;
	    cout<<"Amount Due: "<<billingAmount(tuitionRate)<<" Yuan\n";
	}
	cout<<"-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-"<<endl;
}
int student::getHoursEnrolled()
{	int totalCredits = 0, i;
	for(i = 0; i < numberOfCourses; i++)
       totalCredits += coursesEnrolled[i].getCredits();
	return totalCredits;
}
double student::billingAmount(double tuitionRate)
{	return tuitionRate * getHoursEnrolled();}
double student::getGpa()
{	double sum = 0.0;
	for(int i = 0; i < numberOfCourses; i++)
	{	switch(coursesEnrolled[i].getGrade())
		{case 'A': sum += coursesEnrolled[i].getCredits() * 4;  break;
		case 'B': sum += coursesEnrolled[i].getCredits() * 3;  break;
		case 'C': sum += coursesEnrolled[i].getCredits() * 2;  break;
		case 'D': sum += coursesEnrolled[i].getCredits() * 1;  break;
		case 'F': sum += coursesEnrolled[i].getCredits() * 0;  break;
		default: cout<<"Invalid Course Grade"<<endl;
		}
	}
	return sum / getHoursEnrolled();
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -