Guest User

Untitled

a guest
Feb 21st, 2018
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.09 KB | None | 0 0
  1. #include <iostream>
  2. #include <fstream>
  3. using namespace std;
  4. #include <iomanip>
  5. #include <cstring>
  6.  
  7. int readRoster(char [][20], int [], int []);
  8. void printRoster(char [][20], int [], int [], int);
  9. void sortNumber(char [][20], int [], int [], int);
  10. !!void sortHR(char [][20], int [], int [], int);
  11.  
  12. int main ()
  13. {
  14. char name[20][20];
  15. int hr[20];
  16. int number[20];
  17. int numPlayers;
  18.  
  19. numPlayers = readRoster(name, number, hr);
  20. printRoster(name, number, hr, numPlayers);
  21.  
  22. sortNumber(name, number, hr, numPlayers);
  23. printRoster(name, number, hr, numPlayers);
  24.  
  25. !!sortHR(name, number, hr, numPlayers);
  26. printRoster(name, number, hr, numPlayers);
  27.  
  28. return 0;
  29. }
  30.  
  31. int readRoster(char name[][20], int number[], int hr[]) {
  32. char fileName[50];
  33. ifstream inputFile;
  34. bool readFail = false;
  35. char firstName[20];
  36. char lastName[20];
  37.  
  38. do {
  39. cout << "What is the file name that you want to open?" << endl;
  40. cin >> fileName;
  41.  
  42. inputFile.open(fileName);
  43. if (inputFile.fail()) {
  44. cout << "Error opening " << fileName << "." << endl;
  45. readFail = true;
  46. inputFile.close();
  47. }
  48. } while(readFail);
  49.  
  50. int i = 0;
  51. while (!inputFile.eof() && i < 20) {
  52. inputFile >> number[i];
  53. inputFile >> firstName;
  54. inputFile >> lastName;
  55. inputFile >> hr[i];
  56.  
  57. strcpy(name[i], firstName);
  58. strcat(name[i], " ");
  59. strcat(name[i], lastName);
  60. i++;
  61. }
  62. return i;
  63.  
  64. }
  65.  
  66. void printRoster(char name[][20], int number[], int hr[], int numPlayers) {
  67. cout << "********** ROSTER **********" << endl;
  68. for (int i = 0; i < numPlayers; i++) {
  69. cout << setw(8) << left << "Number: ";
  70. cout << setw(2) << right << number[i];
  71. cout << setw(8) << right << "Name: ";
  72. cout << setw(20) << left << name[i];
  73. cout << setw(11) << left << "Home Runs: ";
  74. cout << setw(3) << hr[i];
  75. cout << endl;
  76. }
  77. cout << endl;
  78. }
  79.  
  80. void sortNumber(char name[][20], int number[], int hr[], int numPlayers) {
  81. bool swap;
  82. char tempName[20];
  83. int tempNumber;
  84. int tempHR;
  85. do {
  86. swap = false;
  87. for (int count = 0; count < (numPlayers - 1); count++) {
  88. if (number[count] > number[count + 1]) {
  89. strcpy(tempName, name[count]);
  90. strcpy(name[count], name[count + 1]);
  91. strcpy(name[count +1], tempName);
  92.  
  93. tempNumber = number[count];
  94. number[count] = number[count + 1];
  95. number[count + 1] = tempNumber;
  96.  
  97. tempHR = hr[count];
  98. hr[count] = hr[count + 1];
  99. hr[count + 1] = tempHR;
  100.  
  101. swap = true;
  102. }
  103. }
  104. } while (swap);
  105. }
  106.  
  107. !!void sortHr(char name[][20], int number[], int hr[], int numPlayers) {
  108. bool swap;
  109. char tempName[20];
  110. int tempNumber;
  111. int tempHR;
  112. do {
  113. swap = false;
  114. for (int count = 0; count < (numPlayers - 1); count++) {
  115. if (hr[count] > hr[count + 1]) {
  116. strcpy(tempName, name[count]);
  117. strcpy(name[count], name[count + 1]);
  118. strcpy(name[count +1], tempName);
  119.  
  120. tempNumber = number[count];
  121. number[count] = number[count + 1];
  122. number[count + 1] = tempNumber;
  123.  
  124. tempHR = hr[count];
  125. hr[count] = hr[count + 1];
  126. hr[count + 1] = tempHR;
  127.  
  128. swap = true;
  129. }
  130. }
  131. } while (swap);
  132. }
Add Comment
Please, Sign In to add comment