Question: #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;
#include
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; } }
------
#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;
void createTestScoresArray(int size);
public:
StudentTestScores(char* name, int numScores);
StudentTestScores(const StudentTestScores& obj);
~StudentTestScores();
void setTestScore(double score, int index);
void setStudentName(char* name);
char* getStudentName() const;
int getNumTestScores() const;
double getTestScore(int index) const;
void display() const;
};
#endif
------
#include "StudentTestScores.h"
#include
#include
using namespace std;
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 = new char[strlen(name) + 1];
strcpy(studentName, name);
createTestScoresArray(numScores);
}
StudentTestScores::StudentTestScores(const StudentTestScores& obj) {
studentName = new char[strlen(obj.studentName) + 1];
strcpy(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[] studentName;
delete[] testScores;
}
void StudentTestScores::setTestScore(double score, int index) {
testScores[index] = score;
}
void StudentTestScores::setStudentName(char* name) {
delete[] studentName;
studentName = new char[strlen(name) + 1];
strcpy(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;
}
Having trouble getting the main to work (c++)
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
