Hey guy's...
Anyway's, none of my coder friend's are online and i really need some help.. When I start my program, it create's a .dat file.. The file is supposed to store all the information that I write in my program.. Problem is that once I close the program and re-open it it's not there.. The .dat file is blank (0Kb's) so it has to be some stupid error i have done.. If you can show me how to fix it I would really appreciate it.. Thank's...
Pic of the program when ran:
http://img.photobucket.com/albums/v4...iosProgram.jpg
Code:
/*Nitto Revolution Ratio's*/
#include <iostream>
#include <string.h>
#include <stdio.h>
#include <fstream>
// This structure defines the car stats.
struct SCar
{
char car[30];
char user[30];
float gear1, gear2, gear3, gear4, gear5, gear6, final, et;
};
int menu()
{
std::cout << "\n\n\n-------------------------------------------------\n";
std::cout << "What would you like to do?\n1) Add a car.\n2) View all cars.\n0) Quits\n";
std::cout << "-------------------------------------------------\n\n";
int selection;
std::cin >> selection;
return selection;
}
SCar CreateCar()
{
SCar car;
std::cout << "\nCar name?: ";
std::cin.ignore();
std::cin.getline(car.car, 29);
std::cout << "User?: ";
//std::cin.ignore();
std::cin.getline(car.user, 29);
std::cout << "Gear one?: ";
std::cin >> car.gear1;
std::cout << "Gear two?: ";
std::cin >> car.gear2;
std::cout << "Gear three?: ";
std::cin >> car.gear3;
std::cout << "Gear four?: ";
std::cin >> car.gear4;
std::cout << "Gear five?: ";
std::cin >> car.gear5;
std::cout << "Gear six?: ";
std::cin >> car.gear6;
std::cout << "Final?: ";
std::cin >> car.final;
std::cout << "ET?: ";
std::cin >> car.et;
return car;
}
void printcar(SCar* pCar)
{
printf("%s::%s \n\t%.4f %.4f %.4f %.4f %.4f %.4f %.4f %.4f \n", pCar->car, pCar->user, pCar->gear1, pCar->gear2, pCar->gear3, pCar->gear4, pCar->gear5, pCar->gear6, pCar->final, pCar->et);
}
int main()
{
std::cout << " /-------------------------------------\\ \n";
std::cout << "<------- Nitto Revolution Ratio's -------> \n";
std::cout << "<------- Coder: ArtificialAimer -------> \n";
std::cout << " \\-------------------------------------/ \n";
int i, totalcars = 0;
SCar* pCars = 0;
std::fstream file;
file.open("Ratios.dat", std::fstream::out | std::fstream::binary);
file.seekg(0);
file.read((char*)&totalcars, sizeof(int));
pCars = new SCar[totalcars];
file.read((char*)pCars, sizeof(SCar) * totalcars);
while((i = menu()) != 0)
{
switch(i)
{
case 1:
{
SCar* pCarsTemp = new SCar[totalcars+1];
memcpy(pCarsTemp, pCars, sizeof(SCar) * totalcars);
delete[] pCars;
pCars = pCarsTemp;
pCars[totalcars] = CreateCar();
totalcars++;
file.seekp(0);
file.write((char*)&totalcars, sizeof(int));
file.write((char*)pCars, sizeof(SCar) * totalcars);
break;
}
case 2:
{
for(int j = 0; j < totalcars; ++j)
printcar(&pCars[j]);
break;
}
default:
break;
//nothing
}
}
file.close();
return 0;
}