Elikkä miten teen aliohjelman jolla voin poistaa valitun henkilön tietokannasta? Tietokanta on yksinkertanen tietue, jossa on etunimi, sukunimi, ammatti, palkka ym...
tietuuen jäsenen poisto???
Sami
4244
0Äänestä
Muut lukivat myös
Odottaa vastausta
Näihin keskusteluihin ei ole vielä vastattu. Ole ensimmäinen.
Vastaukset 4
Vanhimmat
tietokannasta SQL vai joku oma viritys ?
oma viritys:
C-kielellä tee hommasta linktetty lista.
C käytä list, map tai vector olioita, stadardi STL kirjastossa olevia ? samanlaisia kuin linkitetty lista. Poistat indeksin perusteella, mapissa taisi olla mahdollisuus käyttää avainta jolla voi etsiä.
On siis kyse seuraavanlaisesta tietueesta:
struct henkilo {
char sukunimi[80];
char etunimi[80];
char ammatti[80];
unsigned syntymavuosi;
unsigned char palkka;
} HLO[MAX]
Ohjelma sisältää valikon josta valitaan et haluuko lisätä henkilön, tallentaa, tulostaa tai esim. tuhota. Sitä poistoa en osaa siis tehdä.
Eli sinulla on kiinteä taulukko ?
linkitetty lista olisi parempi mutta...
Tee vaikka seuraavasti merkitse henkilö poistetuksi vaikka pistämällä syntymä vuosi nollaksi tai lisää uusi muutuja tarkoitusta varten
. muista nollata kaikki alkiot ennen käyttöä.
aina kun lisäät jotain käy taulukko läpi ja etsi ensimmäinen tyhjä kohta ja tallenna uudet tiedot sinne.
tulostaessa käy kaikki läpi ja tulosta vain "ei poistetut".
Toimiva, joskaan ei välttämättä yksinkertaisin tapa, on lukea tietue-tyyppiseen taulukkoon tietokannan olioita yksi kerrallaan. Luettaessa tarkastetaan, onko kyseinen olio se, joka haluttiin poistaa. Jos on, sitä ei kirjoiteta taulukkoon. Lopuksi taulukko, josta nyt siis puuttuu se olio, joka haluttiin poistaa, tallennetaan vanhan tietokannan päälle.