Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <fstream>
- using namespace std;
- #include <iomanip>
- #include <cstring>
- int readRoster(char [][20], int [], int []);
- void printRoster(char [][20], int [], int [], int);
- void sortNumber(char [][20], int [], int [], int);
- !!void sortHR(char [][20], int [], int [], int);
- int main ()
- {
- char name[20][20];
- int hr[20];
- int number[20];
- int numPlayers;
- numPlayers = readRoster(name, number, hr);
- printRoster(name, number, hr, numPlayers);
- sortNumber(name, number, hr, numPlayers);
- printRoster(name, number, hr, numPlayers);
- !!sortHR(name, number, hr, numPlayers);
- printRoster(name, number, hr, numPlayers);
- return 0;
- }
- int readRoster(char name[][20], int number[], int hr[]) {
- char fileName[50];
- ifstream inputFile;
- bool readFail = false;
- char firstName[20];
- char lastName[20];
- do {
- cout << "What is the file name that you want to open?" << endl;
- cin >> fileName;
- inputFile.open(fileName);
- if (inputFile.fail()) {
- cout << "Error opening " << fileName << "." << endl;
- readFail = true;
- inputFile.close();
- }
- } while(readFail);
- int i = 0;
- while (!inputFile.eof() && i < 20) {
- inputFile >> number[i];
- inputFile >> firstName;
- inputFile >> lastName;
- inputFile >> hr[i];
- strcpy(name[i], firstName);
- strcat(name[i], " ");
- strcat(name[i], lastName);
- i++;
- }
- return i;
- }
- void printRoster(char name[][20], int number[], int hr[], int numPlayers) {
- cout << "********** ROSTER **********" << endl;
- for (int i = 0; i < numPlayers; i++) {
- cout << setw(8) << left << "Number: ";
- cout << setw(2) << right << number[i];
- cout << setw(8) << right << "Name: ";
- cout << setw(20) << left << name[i];
- cout << setw(11) << left << "Home Runs: ";
- cout << setw(3) << hr[i];
- cout << endl;
- }
- cout << endl;
- }
- void sortNumber(char name[][20], int number[], int hr[], int numPlayers) {
- bool swap;
- char tempName[20];
- int tempNumber;
- int tempHR;
- do {
- swap = false;
- for (int count = 0; count < (numPlayers - 1); count++) {
- if (number[count] > number[count + 1]) {
- strcpy(tempName, name[count]);
- strcpy(name[count], name[count + 1]);
- strcpy(name[count +1], tempName);
- tempNumber = number[count];
- number[count] = number[count + 1];
- number[count + 1] = tempNumber;
- tempHR = hr[count];
- hr[count] = hr[count + 1];
- hr[count + 1] = tempHR;
- swap = true;
- }
- }
- } while (swap);
- }
- !!void sortHr(char name[][20], int number[], int hr[], int numPlayers) {
- bool swap;
- char tempName[20];
- int tempNumber;
- int tempHR;
- do {
- swap = false;
- for (int count = 0; count < (numPlayers - 1); count++) {
- if (hr[count] > hr[count + 1]) {
- strcpy(tempName, name[count]);
- strcpy(name[count], name[count + 1]);
- strcpy(name[count +1], tempName);
- tempNumber = number[count];
- number[count] = number[count + 1];
- number[count + 1] = tempNumber;
- tempHR = hr[count];
- hr[count] = hr[count + 1];
- hr[count + 1] = tempHR;
- swap = true;
- }
- }
- } while (swap);
- }
Add Comment
Please, Sign In to add comment