#include #include using namespace::std; #include "StudentTestScore.h" void isValid(StudentTestScores& obj, int); int main() { StudentTestScores std1("Juan Casado", 3), std2("Luis Gomez", 4); double score = 0; int index; bool tryAgain; cout << "Entre las " << std1.getNumTestScores() << " notas del estudiante: " << std1.getStudentName() << ":" << endl; for (index = 0; index < std1.getNumTestScores(); index++) { cin >> score; std1.setTestScore(score, index); } tryAgain = true; while (tryAgain) { try { isValid(std1, score); tryAgain = false; } catch (string exceptionString) { cout << exceptionString; cout << "Entre el denominador de la segunda fraccion:"; cin >> score; } std1.display(); cout << "Entre las " << std2.getNumTestScores() << " notas del estudiante: " << std2.getStudentName() << ":" << endl; for (index = 0; index < std2.getNumTestScores(); index++) { cin >> score; std2.setTestScore(score, index); } std2.display(); StudentTestScores std3(std1); std3.display(); system("pause"); return 0; }
} void isValid(StudentTestScores& obj, int score) { if (score < 0) { string exceptionString = "ERROR: Score cant be lower than zero "; throw exceptionString; } }
-------
#include using namespace::std; #include "StudentTestScore.h" void StudentTestScores::createTestScoresArray(int size) { numTestScores = size; testScores = new double[size]; for (int i = 0; i < size; i++) testScores[i] = DEFAULT_SCORE; } StudentTestScores::StudentTestScores(char* name, int numScores) { studentName = name; createTestScoresArray(numScores); } StudentTestScores::StudentTestScores(const StudentTestScores& obj) { studentName = obj.studentName; numTestScores = obj.numTestScores; testScores = new double[numTestScores]; for (int i = 0; i < numTestScores; i++) testScores[i] = obj.testScores[i]; } StudentTestScores::~StudentTestScores() { delete[] testScores; } void StudentTestScores::setTestScore(double score, int index) { testScores[index] = score; } void StudentTestScores::setStudentName(char* name) { studentName = name; } char* StudentTestScores::getStudentName() const { return this->studentName; } int StudentTestScores::getNumTestScores() const { return this->numTestScores; } double StudentTestScores::getTestScore(int index) const { return this->testScores[index]; } void StudentTestScores::display() const { cout << "Las notas del estudiante " << this->getStudentName() << " son :" << endl; for (int index = 0; index < this->getNumTestScores(); index++) { cout << this->getTestScore(index) << ","; } cout << endl; }
--------
#ifndef STUDENTTESTSCORES_H #define STUDENTTESTSCORES_H #include using namespace std; const double DEFAULT_SCORE = 0.0; class StudentTestScores { private: char* studentName; double* testScores; int numTestScores; public: void createTestScoresArray(int size); StudentTestScores(char* name, int numScores); StudentTestScores(const StudentTestScores& obj); ~StudentTestScores(); void setStudentName(char* name); char* getStudentName() const; int getNumTestScores() const; void setTestScore(double score, int index); double getTestScore(int index) const; void display() const; }; #endif
My objects (std1 and std2) aren't working c++