All pastes #928502 Raw Edit

Something

public text v1 · immutable
·published 2008-03-05 02:50 UTC
rendered paste body
I have no clue what my problem is. its not displaying the array right...



#include <iostream>
#include <fstream>
using namespace std;

struct coaches {

	char firstName[30],
	lastName[30],
	college[30],
	tempSalary[30];
	     
	int startYear;
	
	double totalEarned;
	double salary;
};

struct arraycoaches {

	char firstName[30];
	char lastName[30];
	char college[30];
	char tempSalary[30];

	double totalEarned;
	double salary;
};



int main()
{
	coaches coachData;
	arraycoaches arrayData[20];

	fstream binary2 ("binary2.dat", ios::in | ios::binary);

	fstream binary ("binary.dat", ios::in | ios::binary);
		if (binary.fail()) {
		
			cout << "That file does not exist!\n";
			return 0;
		}
	
	binary.read(reinterpret_cast<char*>(&coachData), sizeof(coachData));

	int size = 0;

	while (!binary.eof()) 
	{
		int i = 0;
		strcpy(arrayData[i].firstName,coachData.firstName);
		strcpy(arrayData[i].lastName,coachData.lastName);
		strcpy(arrayData[i].college,coachData.college);
		strcpy(arrayData[i].tempSalary,coachData.tempSalary);
		arrayData[i].totalEarned = coachData.totalEarned;
		arrayData[i].salary = coachData.salary;
		size = i;
		i++;
		binary.read(reinterpret_cast<char*>(&coachData), sizeof(coachData));
		binary2.write(reinterpret_cast<char*>(&coachData), sizeof(coachData));
	
	}

	binary.close();
	binary2.close();

	bool swap;
	double temp;

	do
	{
		swap = false;
		for (int i = 0; i < (size - 1); i++)
		{
			if(arrayData[i].totalEarned > arrayData[i + 1].totalEarned)
			{
				temp = arrayData[i].totalEarned;
				arrayData[i].totalEarned = arrayData[i + 1].totalEarned;
				arrayData[i + 1].totalEarned = temp;
				swap = true;
			}
		}
	} while(swap);


	for(int i = 0; i < size; i++)
	{
		cout << arrayData[i].totalEarned;
	}

	/*while (!binary2.eof()) {
	
		int i = 0;
		cout << arrayData[i].firstName;
		cout << arrayData[i].lastName;
		cout << arrayData[i].college;
		cout << arrayData[i].tempSalary;
		cout << arrayData[i].totalEarned;
		cout << arrayData[i].salary;
		binary.read(reinterpret_cast<char*>(&coachData), sizeof(coachData));
	
	}

	binary2.close();
    */	
}