I have a piece of code that won't compile.
#include "stdafx.h"
#include <iostream>
#include <fstream>
#include <string>
#include <Windows.h>
#include <iomanip>
using namespace std;
int average (int n);
int main()
{
string filename;
int i,j;
int n = 0;
int sum = 0;
int size = 4;
const int nameLength = 19;
const int maxRecords = 100;
int index[100];
int scores[maxRecords];
char names[maxRecords][nameLength];
int count = 0;
cout << "Enter binary data directory and file name: ";
getline (cin, filename);
// Open file for binary read-write access.
ifstream fin(filename.c_str(), ios::binary);
if (!fin) {
cout << "Could not open " << filename << endl;
system("PAUSE");
return -1;
}
// Read data from the file.
while (
fin.read(names[count], sizeof(names[0]))
&& fin.read((char *) &scores[count], sizeof(scores[0]))
)
{
count++;
fin.ignore(); // skip the padding byte
}
// Display the data and close.
cout << "Your file's data unsorted: " << endl;
cout << endl;
cout << setw(10) << "Name" << setw(20) << "Test Score" << endl;
for (i=0;i<n;i++){
cout << setw(10) << names[i] << setw(20) << scores[i] << endl;
}
for (i=0;i<n;i++)
{
index[i]=i;
}
for (i=0;i<n;i++)
{
for (j=i+1;j<n;j++)
{
int temp;
if (scores[index[i]] > scores[index[j]])
{
temp = index[i];
index[i] = index[j];
index[j] = temp;
}
}
}
cout << "The average of the test scores in your file is: " << average (sum);
sum=sum+scores[i];
fin.close();
system("PAUSE");
return 0;
}
int average (int sum, int size)
{
return sum/size;
}
I'm getting a compile error that says: fatal error LNK1120: 1 unresolved externals
, and I can't figure out why. Also another question is how do you format it so that the data read from the original binary file does not get tampered and is then outputted and saved in a new edited binary file?