Mam problem z edycją rekordu.
void edytuj(const char *in,uczen *u,int n,int nr) // znow wskaznik in na nazwe pliku i wskaznik s na strukture
{
fstream plik;
plik.open(in);
char znak;
znak=getchar();
uczen tmpDane;
int i=nr-1; //bo jedziemy od zera w rekordzie a wyswietlana numeracja od 1
do
{
cout<<"Podaj Imie :\n";
cin>>tmpDane.imie;
cout<<"Podaj Nazwisko :\n";
cin>>tmpDane.nazwisko;
cout<<"Klasa :\n";
cin>>tmpDane.klasa;
cout<<"Podaj ocene z zachowania :\n";
cin>>tmpDane.zach;
cout<<"Podaj srednia ocen :\n";
cin>>tmpDane.srednia;
cout<<"Czy dane poprawne? [t/n]\n";
cin >> znak;
if (znak == 't')
{
u[i].nr = i+1;
u[i].imie = tmpDane.imie;
u[i].nazwisko = tmpDane.nazwisko;
u[i].klasa= tmpDane.klasa;
u[i].zach = tmpDane.zach;
u[i].srednia = tmpDane.srednia;
plik<<u[i].nr<<endl;
plik<<u[i].imie<<endl;
plik<<u[i].nazwisko<<endl;
plik<<u[i].klasa<<endl;
plik<<u[i].zach<<endl;
plik<<u[i].srednia<<endl;
plik<<"\n\n";
i=i+1;
}
}
while(i<n);
plik.close();
}
Załóżmy,że mam 3 wpisy. Chce edytować ten ostatni. Ładnie podmieniło dane ale rekord zapisano na początku jak temu zaradzić?