Im in a bit of a mess here. I have Every thing Working that i need but for some reason i can not Get Update Record Working.
its only Adding the Name To end of File,
if some one could help me out i would be Great full
1 2 3 4 5 6
|
struct Newpassenger
{
int seat_number;
char name[20];
char onward[3];
};
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
|
{
fstream Airline ("AirLine.text", ios::out | ios::in | ios::app | ios::binary);
if(!Airline)
{
cout << "File Could not be opened." << endl;
system("PAUSE");
exit (1);
}
cout << "Enter Seat Number to Update"
<<"(1 to 100, 0 to end )?";
Newpassenger Changepassenger; //= {Changepassenger.seat_number, " ", &Changepassenger.onward};
cin >> Changepassenger.seat_number;
while (Changepassenger.seat_number > 0 && Changepassenger.seat_number <=100)
{
Airline.seekp((Changepassenger.seat_number - 1 ) * sizeof(Newpassenger));
Airline.read(reinterpret_cast<char *>(&Changepassenger), sizeof(Newpassenger));
cout << " Found Record. Now Enter New Name:";
cin >> Changepassenger.name;
Airline.seekg((Changepassenger.seat_number - 1 ) * sizeof(Newpassenger));
Airline.write(reinterpret_cast<const char *>(&Changepassenger), sizeof (Newpassenger));
cout << "\nEnter Seat Number: ?";
cin >> Changepassenger.seat_number;
}
Airline.close();
cout << endl;
}
|
Last edited on
What is it that doesn't work?
Ok when the program is running..
it asks me 1 to 100 i enter 55
Enter Name
Jack
then i want to change the Name
Enter New Name
William
its not over writing Jack and placing William into that location.. But its only Adding that to the End of that Array location.
this is what im getting
! David ·çˇ ˛æ∆N N êå ! Jack ·çˇ ˛æ∆N N êå
i just want to see
Jack ·çˇ ˛æ∆N N êå
Last edited on
ok I still stuck in this,
When i display the Location of the Array..
It shows up the Old Name. not the new name.
Cant see what i am doing wrong