Премини към съдържанието

Препоръчан отговор


Здравейте, имам следната задача:  Да се състави клас студент (CStudent) член променливи: name; име scores; списък от оценки fn; факултетен номер // експлицитен конструктор fn,nаmе // accessor за name // accessor за получаване на средна оценка getGrade () // добавяне на оценка addScore Да се състави клас (CCourse) student_list; списък от студенти name име на курса // експлицитен конструктор по име на курса // accessor за име на курса name // функция за нанасяне на оценка: addScore (fn, grade) // добавяне на група оценки на даден студент addScores (fn, grade list) // извеждане на резултатите на групата displayScores () извежда име, списък от оценки и средна оценка // добавяне на студент с име и ф.н. към курса makeStudent (fn, name) Главна функция за създаване на клас II и проверка на функциите му

Ето и докъде съм стигнал

#include <iostream>
#include <string>
#include <list>
//#include <iterator>

using namespace std;


class CStudent			//1st class
{
protected:
	string m_strName;
	list<int> m_iScores;
	string m_strFn;
public:
	CStudent()		//default
	{
		m_strName = "unknown";
		m_strFn = "unknown";
	}
	CStudent(string Name, string Fn)		//exp
	{
		m_strName = Name;
		m_strFn = Fn;
	}

	const string GetName() { return m_strName; }	//accessor name
	const int GetGrade()							//accessor grade
	{ 
		int iSum = 0;
		double dAverage = 0.0;
		for (int i = 0; i < (signed)m_iScores.size(); i++)
			iSum++;
		dAverage = iSum / double(m_iScores.size());
		return dAverage;
	}		

	void AddScore()		//add score
	{
		int iMark;
		for (int i = 0; i < 5; i++)
		{
			cout << "Insert grade: ";
			cin >> iMark;
			m_iScores.push_back(iMark);
		}
	}

	friend ostream& operator <<(ostream& toStream, CStudent& obj)		//output
	{
		toStream << "Student's name is " << obj.m_strName << ", with Faculty № " << obj.m_strFn << endl;
		return toStream;
	}
	//friend istream& operator >>(istream& fromStream, CStudent& obj)		//input
	//{
	//	fromStream >> obj.m_strName >> obj.m_strFn << endl;
	//	return fromStream;
	//}
};


class CCourse : CStudent			//2nd class
{
private:
	list<string> m_strStudent_list;
	string m_strCourseName;
public:
	CCourse() { m_strCourseName = "unknown"; }		//default
	CCourse(string CourseName) { m_strCourseName = CourseName; }		//exp

	const string GetCourseName() { return m_strCourseName; }		//accessor course name


	void AddScore(const string Fn, int Grade)
	{
		cout << "Faculty № " << Fn;
		cout << "\n Grade: ";
		cin >> Grade;
	}

	void AddScores(const string Fn, list<int> Grade_list, int Grade)		//add a group of marks to a student
	{
		cout << "Faculty № " << Fn;
		cout << "\n Grade: ";
		for (int i = 0;i < 5;i++)
		{
			cin >> Grade;
			Grade_list.push_back(Grade);
		}
	}

	/*int displayScores(CCourse& obj) //извежда име, списък от оценки и средна оценка
	{
	cout << "Ime na studenta: " << obj.m_strname;
	ostream_iterator<int> out(cout, " ");
	cout << "Ocenki: ";
	copy(obj.m_iScores.begin(), obj.m_iScores.end(), out);
	}*/

	int MakeStudent(string Fn, string Name)			//add student
	{
		cout << "Student's name is: ";
		cin >> Name;
		cout << "Faculty № ";
		cin >> Fn;
	}
};

int main()
{
	CStudent student("Ivan", "61460114");
	cout << student;
	student.GetName();
	/*student.AddScore();
	student.GetGrade();*/

	return 0;
}

Не мога да направя последните две функции и мейна ще съм благодарен ако някой ми помогне

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Регистрирайте се или влезете в профила си за да коментирате

Трябва да имате регистрация за да може да коментирате това

Регистрирайте се

Създайте нова регистрация в нашия форум. Лесно е!

Нова регистрация

Вход

Имате регистрация? Влезте от тук.

Вход

×

Информация

Поставихме бисквитки на устройството ви за най-добро потребителско изживяване. Можете да промените настройките си за бисквитки, или в противен случай приемаме, че сте съгласни с нашите условия за ползване.