Kasowanie wybranego rekordu w C++

0

Od pewnego czasu główkuje nad usunięciem wybranego rekordu z struktury. Mam bazę danych (w C++) uczniów i załóżmy, że chciałbym usunąć kowalskiego który jest na 8 pozycji. Wiem, że mu podać który element chce skasować (8), skopiować całą bazę danych z pominięciem 8 elementu i nadpisać tą starą. Brzmi to dość prosto w teorii ale w praktyce nie mam zielonego pojęcia jak ma to wyglądać.

0

Wysłać do bazy żądanie wykonania odpowiedniego query

delete from tabel1 where col1=X
0

Mam bazę napisaną w C++ :) a Twoja instrukcja chyba dotyczy SQL (choć nie wiem bo nigdy nie miałem z tym językiem do czynienia). Szkoda, że nie można zrobić tego w tak prosty sposób.

0

Nie ma czegoś takiego jak baza danych w C++. Więc dokładnie napisz jak masz te dane składowane. Czy w jakimś pliku, który odczytujesz/zapisujesz w C++? Czy dane to obiekty (struktury/klasy) C++ na jakiejś liście/tablicy?

0

Źle się wyraziłem :) Program wzorowany jest na bazie danych. Ogólnie oparty jest na strukturze. Jedna struktura z podziałem na rekordy:

 struct uczen
{
	int nr;		   ///   numer w bazie
	string imie;
	string nazwisko;
	string klasa;                  
	string zach;
	string srednia;
}; 

Wszystkie Dane zapisywane są do pliku txt
Wygląda to mniej więcej tak:

1 <-- Nr rekordu
Mxxx <-- Imie
Laxxxx <-- Naziwsko
2Ti <-- klasa
Dobre <--zachowanie
4.05 <-- srednia

0

Wczytaj wszystkie rekordy a potem na 8 nadpisz 9, na 9 nadpisz 10, ..., zmniejsz tablicę o 1 i zapisz do pliku z powrotem

1

...albo wczytaj ostatni rekord, zapisz go w miejscu ósmego i obetnij ostatni rekord z pliku (truncate) - tak jest najszybciej i najłatwiej.

1 użytkowników online, w tym zalogowanych: 0, gości: 1