From d28ee60952399247b6c7dd0a21fee0e39d92d7d0 Mon Sep 17 00:00:00 2001 From: Emilis Baliukonis Date: Sun, 17 Feb 2019 23:20:32 +0200 Subject: [PATCH] Changed message text --- main_array.cpp | 4 +-- main_vector.cpp | 70 ++++++++++++++++++++++++------------------------- 2 files changed, 37 insertions(+), 37 deletions(-) diff --git a/main_array.cpp b/main_array.cpp index 1f800f3..ff4094c 100644 --- a/main_array.cpp +++ b/main_array.cpp @@ -48,7 +48,7 @@ vector getStudents(bool useRandom) { while (filling) { Student student; - cout << "Vardas: "; + cout << "Vardas (arba /q jeigu norite baigti vesti duomenis): "; cin >> student.firstName; if (student.firstName != EXIT_COMMAND) { cout << endl << "Pavardė: "; @@ -74,7 +74,7 @@ vector getStudents(bool useRandom) { bool fillingHomework = true; while (fillingHomework) { - cout << endl << "Namų darbų rez.: "; + cout << endl << "Namų darbų rez. (arba 0 jei norite baigti vesti duomenis): "; cin >> homeworkResult; if (cin.fail()) { // discard 'bad' character(s) diff --git a/main_vector.cpp b/main_vector.cpp index d608bc2..da0c514 100644 --- a/main_vector.cpp +++ b/main_vector.cpp @@ -32,35 +32,35 @@ struct Student { vector getStudents(bool useRandom) { vector students; - + bool filling = true; unsigned int homeworkResult; - + while (filling) { Student student; - cout << "Vardas: "; + cout << "Vardas (arba /q jeigu norite baigti vesti duomenis): "; cin >> student.firstName; if (student.firstName != EXIT_COMMAND) { cout << endl << "Pavardė: "; cin >> student.lastName; - + if (useRandom) { std::random_device rd; // obtain a random number from hardware std::mt19937 eng(rd()); // seed the generator std::uniform_int_distribution<> distr(1, 10); // define the range - + int numOfHomework = distr(eng); - + for (int i = 0; i < numOfHomework; i++) { student.homeworkResults.push_back(distr(eng)); } - + student.examResult = distr(eng); } else { bool fillingHomework = true; - + while (fillingHomework) { - cout << endl << "Namų darbų rez.: "; + cout << endl << "Namų darbų rez. (arba 0 jei norite baigti vesti duomenis): "; cin >> homeworkResult; if (cin.fail()) { // discard 'bad' character(s) @@ -73,38 +73,38 @@ vector getStudents(bool useRandom) { fillingHomework = false; } } - + cout << endl << "Egzamino rez.: "; cin >> student.examResult; cout << endl; } - + students.push_back(student); } else { filling = false; } } - + return students; } int maxFirstNameLength(const vector &students) { int length = 6; // default value is length of string "Vardas" - + for (auto &student : students) { length = std::max(static_cast(student.firstName.length()), length); } - + return length + 3; } int maxLastNameLength(const vector &students) { int length = 7; // default value is length of string "Pavarde" - + for (auto &student : students) { length = std::max(static_cast(student.lastName.length()), length); } - + return length + 3; } @@ -113,17 +113,17 @@ void printResults(const vector &students, char mode) { int lastNameLength = maxLastNameLength(students); string modeLabel = (mode == 'v' ? "Vid." : "Med."); string finalResultLabel = "Galutinis (" + modeLabel + ")"; - + cout << std::left << std::setw(firstNameLength) << "Vardas" << std::setw(lastNameLength) << "Pavardė" << std::setw(finalResultLabel.length()) << finalResultLabel << endl; - + string separator = string(firstNameLength + lastNameLength + finalResultLabel.length(), '-'); - + cout << separator << endl; - + for (auto &student : students) { cout << std::left << std::setw(firstNameLength) << student.firstName @@ -135,20 +135,20 @@ void printResults(const vector &students, char mode) { char getMode() { char mode = '\0'; - + while (mode != 'm' && mode != 'v') { cout << "Ar norite naudoti vidurkį (v) ar medianą (m)?" << endl << "v - vidurkį" << endl << "m - medianą" << endl; cin >> mode; - + if (cin.fail()) { cin.clear(); cin.ignore(std::numeric_limits::max(), '\n'); } } - + return mode; } @@ -156,15 +156,15 @@ void calculateAverage(vector &students) { for (auto &student : students) { unsigned int sum = 0; double average = 0; - + if (!student.homeworkResults.empty()) { for (int i = 0; i < student.homeworkResults.size(); i++) { sum += student.homeworkResults.at(i); } - + average = (double)sum / student.homeworkResults.size(); } - + student.finalResult = 0.4 * average + 0.6 * student.examResult; } } @@ -172,38 +172,38 @@ void calculateAverage(vector &students) { void calculateMedian(vector &students) { for (auto &student : students) { double median = 0; - + if (!student.homeworkResults.empty()) { int results = student.homeworkResults.size(); std::sort(student.homeworkResults.begin(), student.homeworkResults.end()); - + if (results % 2 != 0) { median = student.homeworkResults.at(results/2); } else { median = (double)(student.homeworkResults.at((results-1)/2) + student.homeworkResults.at(results/2))/2.0; } } - + student.finalResult = 0.4 * median + 0.6 * student.examResult; } } bool getUseRandom() { char input = '\0'; - + while (input != 't' && input != 'n') { cout << "Ar norite naudoti atsitiktinius pažymius?" << endl << "t - taip" << endl << "n - ne" << endl; cin >> input; - + if (cin.fail()) { cin.clear(); cin.ignore(std::numeric_limits::max(), '\n'); } } - + return input == 't'; } @@ -211,14 +211,14 @@ int main(int argc, const char * argv[]) { bool useRandom = getUseRandom(); vector students = getStudents(useRandom); char mode = getMode(); - + if (mode == 'v') { calculateAverage(students); } else if (mode == 'm') { calculateMedian(students); } - + printResults(students, mode); - + return 0; }