Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <iomanip>
- #include <string>
- #include <fstream>
- using namespace std;
- void teamdividing(string str)
- {
- str = str + ".txt";
- ifstream file;
- ofstream blue, yellow, red;
- file.open(str);
- blue.open("blue1.txt");
- red.open("red1.txt");
- yellow.open("yellow1.txt");
- string s, name, team;
- int s1, s2;
- float time;
- for (int i = 1; i <= 9; i++)
- {
- file >> name >> s1 >> s2 >> time >> team;
- if (team == "Red")
- {
- red << name << " " << s1 << " " << s2 << " " << time << " " << team << " " << endl;
- }
- else if (team == "Yellow")
- {
- yellow << name << " " << s1 << " " << s2 << " " << time << " " << team << " " << endl;
- }
- else if (team == "Blue")
- {
- blue << name << " " << s1 << " " << s2 << " " << time << " " << team << " " << endl;
- }
- }
- file.close();
- blue.close();
- red.close();
- yellow.close();
- }
- void teamdividing2(string str)
- {
- str = str + ".txt";
- ifstream file;
- ofstream blue, yellow, red;
- file.open(str);
- blue.open("blue2.txt");
- red.open("red2.txt");
- yellow.open("yellow2.txt");
- string s, name, team;
- int s1, s2;
- float time;
- for (int i = 1; i <= 9; i++)
- {
- file >> name >> s1 >> s2 >> time >> team;
- if (team == "Red")
- {
- red << name << " " << s1 << " " << s2 << " " << time << " " << team << " " << endl;
- }
- else if (team == "Yellow")
- {
- yellow << name << " " << s1 << " " << s2 << " " << time << " " << team << " " << endl;
- }
- else if (team == "Blue")
- {
- blue << name << " " << s1 << " " << s2 << " " << time << " " << team << " " << endl;
- }
- }
- file.close();
- blue.close();
- red.close();
- yellow.close();
- }
- string toString(int i) //for converting number to String - Pham
- {
- ofstream String;
- String.open("string");
- String << i;
- String.close();
- ifstream file;
- file.open("string");
- string result;
- file >> result;
- return result;
- }
- void object1(string str, int choice)
- {
- cout << setprecision(3);
- string teamname = str;
- cout << endl;
- cout << "TEAM COLOR: " << teamname << endl;
- cout << "_______________________________________" << endl;
- str = str + toString(choice) + ".txt"; //str = red1 + .txt = red1.txt
- ifstream groupname;
- groupname.open(str);
- string name, team, time1;
- int s1, s2;
- float time;
- float sum1 = 0;
- float sum2 = 0;
- float sum3 = 0;
- for (int i = 1; i <= 3; i++)
- {
- groupname >> name >> s1 >> s2 >> time >> team; //3.60
- time = ((int)time * 60) + ((fmod(time, 1)) * 100); //minutes to seconds
- time1 = toString(time / 60) + ".";
- time1 = time1 + toString(int(time) % 60);
- cout << setw(8) << left << "name " << "|" << setw(10) << left << "reaction |" << setw(16) << left << "responsiveness |" << setw(5) << left << "time" << endl;
- cout << setw(8) << left << name << "|" << left << setw(9) << s1 << "|" << left << setw(15) << s2 << "|" << left << setw(5) << time1 << endl;
- cout << "---------------------------------------" << endl;
- sum1 = sum1 + s1;
- sum2 = sum2 + s2;
- sum3 = sum3 + time;
- }
- sum3 = sum3 / 3;
- time1 = toString(sum3 / 60) + ".";
- time1 = time1 + toString(int(sum3) % 60);
- cout << left << setw(9) << "Average |" << left << setw(9) << sum1 / 3 << "|" << setw(15) << sum2 / 3 << "|";
- cout << left << setw(4) << time1 << endl;
- groupname.close();
- }
- float objective3(string team, string i)
- {
- cout << setprecision(3);
- string filename = team + i + ".txt";
- ifstream file;
- file.open(filename);
- string s;
- float sum, time1, time2, time3;
- sum = 0;
- file >> s >> s >> s >> time1 >> s;
- file >> s >> s >> s >> time2 >> s;
- file >> s >> s >> s >> time3 >> s;
- time1 = ((int)time1 * 60) + ((fmod(time1, 1)) * 100);
- time2 = ((int)time2 * 60) + ((fmod(time2, 1)) * 100);
- time3 = ((int)time3 * 60) + ((fmod(time3, 1)) * 100);
- sum = (time1 + time2 + time3) / 3;
- sum = ((int)sum / 60) + (fmod(sum, 60) / 100);
- file.close();
- return sum;
- }
- double score(int s1, int s2, double time) //calculate score.
- {
- cout << setprecision(3);
- int sum = s1 + s2;
- double s = (sum)-(1 * ((time * 60) / 5));
- return s;
- }
- void object4(string str) //paramenter str is team name
- {
- int s1, s2;
- float time;
- string name, name2, name3, team;
- string space = " ";
- ifstream file, file2;
- string strbackup = str;
- str = str + "1" + ".txt";
- file.open(str);
- file >> name >> s1 >> s2 >> time >> team;
- double score1 = score(s1, s2, time);
- file >> name2 >> s1 >> s2 >> time >> team;
- double score2 = score(s1, s2, time);
- file >> name3 >> s1 >> s2 >> time >> team;
- double score3 = score(s1, s2, time);
- if (score1 > score2 && score1 > score3)
- {
- cout << left << setw(6) << name << " " << setw(4) << score1; //Snote Setw
- }
- else if (score2 > score3 && score2 > score1)
- {
- cout << left << setw(6) << name2 << " " << setw(4) << score2;
- }
- else if (score3 > score1 && score3 > score2)
- {
- cout << left << setw(6) << name3 << " " << setw(4) << score3;
- }
- cout << setw(9) << space;
- str = strbackup + "2" + ".txt";
- file2.open(str);
- file2 >> name >> s1 >> s2 >> time >> team;
- score1 = score(s1, s2, time);
- file2 >> name2 >> s1 >> s2 >> time >> team;
- score2 = score(s1, s2, time);
- file2 >> name3 >> s1 >> s2 >> time >> team;
- score3 = score(s1, s2, time);
- if (score1 > score2 && score1 > score3)
- {
- cout << "|" << left << setw(6) << name << " " << setw(7) << score1;
- }
- else if (score2 > score3 && score2 > score1)
- {
- cout << "|" << left << setw(6) << name2 << " " << setw(7) << score2;
- }
- else if (score3 > score1 && score3 > score2)
- {
- cout << "|" << left << setw(6) << name3 << " " << setw(7) << score3;
- }
- cout << endl;
- }
- float object5a(string str, int scen)
- {
- str = str + toString(scen) + ".txt";
- int sum = 0;
- float n1, n2;
- string n;
- ifstream file;
- file.open(str);
- for (int i = 1; i <= 3; i++)
- {
- file >> n >> n1 >> n2 >> n >> n;
- sum = sum + n1 + n2;
- }
- file.close();
- float average = (float)sum / 6;
- return average;
- }
- float combine(string a, string n, string selection, float b)
- {
- fstream file;
- file.open(a);
- string s, n1;
- float c;
- if (selection == "reaction")
- {
- for (int i = 1; i <= 9; i++)
- {
- file >> n1 >> c >> s >> s >> s;
- if (n == n1)
- {
- b = b + c;
- }
- }
- file.close();
- }
- if (selection == "response")
- {
- for (int i = 1; i <= 9; i++)
- {
- file >> n1 >> s >> c >> s >> s;
- if (n == n1)
- {
- b = b + c;
- }
- }
- file.close();
- }
- if (selection == "time")
- {
- b = ((int)b * 60) + ((fmod(b, 1)) * 100);
- for (int i = 1; i <= 9; i++)
- {
- file >> n1 >> s >> s >> c >> s;
- if (n == n1)
- {
- c = ((int)c * 60) + ((fmod(c, 1)) * 100);
- b = b + c;
- break;
- }
- }
- file.close();
- }
- return b;
- }
- void sort(string a1, string a2, string a3, float a, float b, float c, string& name1, string& name2, string& name3)
- {
- name1 = a1;
- name2 = a2;
- name3 = a3;
- for (int i = 1; i <= 2; i++)
- {
- if (a < b)
- {
- swap(name1, name2);
- swap(a, b);
- }
- if (b < c)
- {
- swap(name2, name3);
- swap(b, c);
- }
- }
- }
- //sc1 //sc2 //which scores I wanna get
- void sort1(string filename, string filename1, string selection, string& name1, string& name2, string& name3, float& a, float& b, float& c)
- {
- fstream file;
- file.open(filename);
- string n, n1, n2, n3, n4, n5, n6, n7, n8, n9;
- n = n1 = n2 = n3 = n4 = n5 = n6 = n7 = n8 = n9 = "";
- float s1, s2, s3, s4, s5, s6, s7, s8, s9;
- s1 = s2 = s3 = s4 = s5 = s6 = s7 = s8 = s9 = 0;
- if (selection == "reaction")
- {
- file >> n1 >> s1 >> n >> n >> n;
- file >> n2 >> s2 >> n >> n >> n;
- file >> n3 >> s3 >> n >> n >> n;
- file >> n4 >> s4 >> n >> n >> n;
- file >> n5 >> s5 >> n >> n >> n;
- file >> n6 >> s6 >> n >> n >> n;
- file >> n7 >> s7 >> n >> n >> n;
- file >> n8 >> s8 >> n >> n >> n;
- file >> n9 >> s9 >> n >> n >> n;
- s1 = combine(filename1, n1, "reaction", s1);
- s2 = combine(filename1, n2, "reaction", s2);
- s3 = combine(filename1, n3, "reaction", s3);
- s4 = combine(filename1, n4, "reaction", s4);
- s5 = combine(filename1, n5, "reaction", s5);
- s6 = combine(filename1, n6, "reaction", s6);
- s7 = combine(filename1, n7, "reaction", s7);
- s8 = combine(filename1, n8, "reaction", s8);
- s9 = combine(filename1, n9, "reaction", s9);
- }
- else if (selection == "response")
- {
- file >> n1 >> n >> s1 >> n >> n;
- file >> n2 >> n >> s2 >> n >> n;
- file >> n3 >> n >> s3 >> n >> n;
- file >> n4 >> n >> s4 >> n >> n;
- file >> n5 >> n >> s5 >> n >> n;
- file >> n6 >> n >> s6 >> n >> n;
- file >> n7 >> n >> s7 >> n >> n;
- file >> n8 >> n >> s8 >> n >> n;
- file >> n9 >> n >> s9 >> n >> n;
- s1 = combine(filename1, n1, "response", s1);
- s2 = combine(filename1, n2, "response", s2);
- s3 = combine(filename1, n3, "response", s3);
- s4 = combine(filename1, n4, "response", s4);
- s5 = combine(filename1, n5, "response", s5);
- s6 = combine(filename1, n6, "response", s6);
- s7 = combine(filename1, n7, "response", s7);
- s8 = combine(filename1, n8, "response", s8);
- s9 = combine(filename1, n9, "response", s9);
- }
- else if (selection == "time")
- {
- file >> n1 >> n >> n >> s1 >> n;
- file >> n2 >> n >> n >> s2 >> n;
- file >> n3 >> n >> n >> s3 >> n;
- file >> n4 >> n >> n >> s4 >> n;
- file >> n5 >> n >> n >> s5 >> n;
- file >> n6 >> n >> n >> s6 >> n;
- file >> n7 >> n >> n >> s7 >> n;
- file >> n8 >> n >> n >> s8 >> n;
- file >> n9 >> n >> n >> s9 >> n;
- s1 = combine(filename1, n1, "time", s1); //s1 + the time of the 2nd scenario
- s2 = combine(filename1, n2, "time", s2);
- s3 = combine(filename1, n3, "time", s3);
- s4 = combine(filename1, n4, "time", s4);
- s5 = combine(filename1, n5, "time", s5);
- s6 = combine(filename1, n6, "time", s6);
- s7 = combine(filename1, n7, "time", s7);
- s8 = combine(filename1, n8, "time", s8);
- s9 = combine(filename1, n9, "time", s9);
- }
- file.close();
- for (int i = 1; i <= 9; i++)
- {
- if (s1 < s2)
- {
- swap(n1, n2);
- swap(s1, s2);
- }
- if (s2 < s3)
- {
- swap(n2, n3);
- swap(s2, s3);
- }
- if (s3 < s4)
- {
- swap(n3, n4);
- swap(s3, s4);
- }
- if (s4 < s5)
- {
- swap(n4, n5);
- swap(s4, s5);
- }
- if (s5 < s6)
- {
- swap(n5, n6);
- swap(s5, s6);
- }
- if (s6 < s7)
- {
- swap(n6, n7);
- swap(s6, s7);
- }
- if (s7 < s8)
- {
- swap(n7, n8);
- swap(s7, s8);
- }
- if (s8 < s9)
- {
- swap(n8, n9);
- swap(s8, s9);
- }
- }
- name1 = n1;
- name2 = n2;
- name3 = n3;
- a = s1 / 2;
- b = s2 / 2;
- c = s3 / 2;
- if (selection == "time")
- {
- name1 = n9;
- name2 = n8;
- name3 = n7;
- a = s9 / 2;
- b = s8 / 2;
- c = s7 / 2;
- }
- }
- float obj2time(float time, float time2)
- {
- float sum;
- sum = 0;
- time = ((int)time * 60) + ((fmod(time, 1)) * 100);
- time2 = ((int)time2 * 60) + ((fmod(time2, 1)) * 100);
- sum = time - time2;
- cout << setprecision(3);
- return sum;
- }
- string toTime(float a) //a is in second
- {
- int minute = a / 60;
- int second = fmod(a, 60);
- string result = toString(minute) + " Mins " + toString(second) + " Secs.";
- return result;
- }
- int main()
- {
- string filename;
- cout << "Enter the file name for scenario 1 (name without the extention file):" << endl;
- cin >> filename;
- string str1 = filename + ".txt";
- teamdividing(filename);
- cout << "Enter the file name for scenario 2 (name without the extention file):" << endl;
- cin >> filename;
- teamdividing2(filename);
- string str2 = filename + ".txt";
- float avg = 0;
- int choice = 1;
- for (choice = 1; choice;)
- {
- system("cls");
- cout << endl;
- cout << "=======================================" << endl;
- cout << " what do you want to do? " << endl;
- cout << "1. Teaminfo" << endl;
- cout << "2. Individual Performance Summary" << endl;
- cout << "3. Output Speed Result" << endl;
- cout << "4. Most Valuable Officer" << endl;
- cout << "5. Overall Summary" << endl;
- cout << "enter 0 to end the program." << endl;
- cout << "=======================================" << endl;
- cin >> choice;
- switch (choice)
- {
- case 1:
- system("cls");
- cout << "which scenario do you want to see:" << endl;
- cin >> choice;
- object1("Red", choice);
- object1("Blue", choice);
- object1("Yellow", choice);
- system("pause");
- break;
- case 2:
- {
- system("cls");
- string d = " "; //space
- cout << setw(11) << "|" << left << setw(24) << "Scenario 1" << "|" << setw(24) << "Scenario 2" << "|" << "Difference" << endl;
- cout << "__________________________________________________________________________________________" << endl;
- cout << left << setw(10) << "Name" << "|" << left << setw(9) << "Reaction" << left << setw(9) << "Response" << left << setw(6) <<
- "Time" << "|" << left << setw(9) << "Reaction" << left << setw(9) << "Response" << left << setw(6) << "Time" << "|" << left << setw(9) <<
- "Reaction" << left << setw(9) << "Response" << left << setw(7) << "Time" << endl;
- cout << "------------------------------------------------------------------------------------------" << endl;
- ifstream file, file1;
- string n1, t1;
- int s1, s2;
- double time;
- file.open(str1);
- for (int j = 1; j <= 9; j++) //each file 1 find the matches for itself from file 2
- {
- file >> n1 >> s1 >> s2 >> time >> t1;
- string title2;
- string n2, t2;
- int sc1, sc2;
- double time2;
- file1.open(str2);
- for (int i = 1; i <= 9; i++)
- {
- file1 >> n2 >> sc1 >> sc2 >> time2 >> t2;
- if (n1 == n2)
- {
- cout << left << setw(10) << n1 << "|" << left << setw(9) << s1 << setw(9) << s2;
- cout << setw(6) << time << "|" << setw(9) << left << sc1 << setw(9) << left << sc2 << setw(6) << left << time2 << "|";
- int ave1 = sc1 - s1;
- int ave2 = sc2 - s2;
- double ave3 = obj2time(time, time2);
- if (ave1 > 0)
- {
- string avg1 = "+" + toString(ave1);
- cout << setw(8) << avg1 << d;
- }
- else cout << setw(8) << ave1 << d;
- if (ave2 > 0)
- {
- string avg2 = "+" + toString(ave2);
- cout << setw(8) << avg2 << d;
- }
- else cout << setw(8) << ave2 << d;
- if (ave3 > 0)
- {
- string avg3 = "+" + toString(ave3);
- cout << setw(6) << avg3 << "Secs." << endl;
- }
- else cout << setw(6) << ave3 << "Secs." << endl;
- cout << "------------------------------------------------------------------------------------------" << endl;
- i = 9;
- file1.close();
- }
- }
- }
- }
- system("pause");
- break;
- case 3:
- system("cls");
- cout << " " << "scenario1 " << "scenario2 " << "Average" << endl;
- cout << "_______________________________________" << endl;
- cout << setw(9) << left << "RED |" << " ";
- cout << setw(10) << left << objective3("red", "1") << " "; //calling the scenario 1 for red
- cout << setw(10) << left << objective3("red", "2") << " "; // scenario 2
- avg = (objective3("red", "2") + objective3("red", "1")) / 2; // average b/w scenario1 and scenario2
- cout << setw(9) << left << avg << endl;
- cout << "---------------------------------------" << endl;
- cout << setw(9) << left << "BLUE |" << " ";
- cout << setw(10) << left << objective3("blue", "1") << " ";
- cout << setw(10) << left << objective3("blue", "2") << " ";
- avg = (objective3("blue", "2") + objective3("blue", "1")) / 2;
- cout << setw(9) << left << avg << endl;
- cout << "---------------------------------------" << endl;
- cout << setw(9) << left << "YELLOW |" << " ";
- cout << setw(10) << left << objective3("yellow", "1") << " ";
- cout << setw(10) << left << objective3("yellow", "2") << " ";
- avg = (objective3("yellow", "2") + objective3("yellow", "1")) / 2;
- cout << setw(9) << left << avg << endl;
- cout << "---------------------------------------" << endl;
- system("pause");
- break;
- case 4:
- {
- system("cls");
- string space = " ";
- cout << endl;
- cout << left << setw(8) << space << setw(4) << "|Scenario 1" << setw(5) << space; //Snote
- cout << setw(5) << space << setw(6) << "|Scenario 2" << endl;
- cout << "------------------------------------------" << endl;
- cout << setw(8) << left << "Team" << "|" << setw(7) << "Name" << setw(13) << left << "Score" << "|" << setw(7) << left << "Name" << setw(9) << left << "Score" << endl;
- cout << "__________________________________________" << endl;
- cout << setw(8) << "Red" << "|";
- object4("red");
- cout << "------------------------------------------" << endl;
- cout << setw(8) << "Yellow" << "|";
- object4("yellow");
- cout << "------------------------------------------" << endl;
- cout << setw(8) << "Blue" << "|";
- object4("blue");
- cout << "------------------------------------------" << endl;
- system("pause");
- break;
- }
- case 5:
- system("cls");
- string d = " ";
- //Average
- cout << "Ranking of Which Scenario That You Want To See" << endl;
- cin >> choice;
- if (choice == 1)
- {
- choice = 1;
- }
- else if (choice == 2)
- {
- choice = 2;
- }
- string team1, team2, team3;
- float a1 = object5a("yellow", choice); //always started with yellow than blue than red
- float a2 = object5a("blue", choice);
- float a3 = object5a("red", choice);
- sort("Yellow", "Blue", "Red", a1, a2, a3, team1, team2, team3); //always start with yellow
- cout << "Team order:" << endl;
- cout << setw(11) << "Team Name" << "|" << "Average:" << endl;
- cout << "______________________________________________" << endl;
- cout << left << setw(11) << team1 << "|" << left << setw(7) << a1 << endl;
- cout << "----------------------------------------------" << endl;
- cout << left << setw(11) << team2 << "|" << left << setw(7) << a2 << endl;
- cout << "----------------------------------------------" << endl;
- cout << left << setw(11) << team3 << "|" << left << setw(7) << a3 << endl;
- cout << "----------------------------------------------" << endl;
- //reaction
- cout << "BEST REACTION SCORE" << endl;
- string name1, name2, name3;
- sort1(str1, str2, "reaction", name1, name2, name3, a1, a2, a3);
- cout << setw(11) << "Name" << "|" << "Average:" << endl;
- cout << "______________________________________________" << endl;
- cout << left << setw(11) << name1 << "|" << left << setw(7) << (int)a1 << endl;
- cout << "----------------------------------------------" << endl;
- cout << left << setw(11) << name2 << "|" << left << setw(7) << (int)a2 << endl;
- cout << "----------------------------------------------" << endl;
- cout << left << setw(11) << name3 << "|" << left << setw(7) << (int)a3 << endl;
- cout << "----------------------------------------------" << endl;
- //response
- cout << "BEST RESPONSE SCORE" << endl;
- cout << "Name" << setw(6) << d << "Average:" << endl;
- sort1(str1, str2, "response", name1, name2, name3, a1, a2, a3);
- cout << "______________________________________________" << endl;
- cout << left << setw(11) << name1 << "|" << left << setw(7) << (int)a1 << endl;
- cout << "----------------------------------------------" << endl;
- cout << left << setw(11) << name2 << "|" << left << setw(7) << (int)a2 << endl;
- cout << "----------------------------------------------" << endl;
- cout << left << setw(11) << name3 << "|" << left << setw(7) << (int)a3 << endl;
- cout << "----------------------------------------------" << endl;
- //time
- cout << "BEST TIME" << endl;
- cout << "Name" << setw(6) << d << "Average:" << endl;
- sort1(str1, str2, "time", name1, name2, name3, a1, a2, a3);
- //void sort1(string filename, string filename1, string selection, string& name1, string& name2, string& name3, float& a, float& b, float& c)
- cout << "______________________________________________" << endl;
- cout << left << setw(11) << name1 << "|" << left << setw(7) << toTime(a1) << endl;
- cout << "----------------------------------------------" << endl;
- cout << left << setw(11) << name2 << "|" << left << setw(7) << toTime(a2) << endl;
- cout << "----------------------------------------------" << endl;
- cout << left << setw(11) << name3 << "|" << left << setw(7) << toTime(a3) << endl;
- cout << "----------------------------------------------" << endl;
- system("pause");
- break;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement