?? ?

Simularea organizării relative a fişierelor în C

?

Simularea organizării relative a fişierelor în C Indicatorul de stare e un cîmp care poate lua 2 valori distincte (uzual 0/1). iar 1 identifică articole valide  Organizarea relativă  Cheie relativă  numărul în fişier ▪ rezultă spaţii libere şi spaţii ocupate în fişier ▪ distincţia se face prin extinderea structurii articolului cu un indicator de stare Spaţiu liber Structura logică a articolului 0 1 2 3 4 5 6 7 8 9 10 IS 11 12 13 Structura fizică a articolului  Nu este implementată în limbajul C/C++ ▪ toate operaţiile necesare trebuie incluse explicit în algoritmi Articol valid . unde 0 identifică relativ al articolului spaţii libere.

Simularea organizării relative a fişierelor în C  Probleme de rezolvat  Crearea fişierului cu populare/adăugarea de articole noi  Căutarea în fişier (articol unic sau set de articole)  Modificarea datelor (un articol sau mai multe)  Ştergerea articolelor din fişier .

curentă Calcul nr. articole nr Determinare nr. Alt mod de deschidere (“rb+”) x.is = 1 Stop 5 7 Poziţionare pe articolul cu numărul n Scrie articol în fişier 16 0 1 2 3 4 5 6 Preluare nr. articole Reţinere poziţie curentă în fişier poz !feof(stdin) Nu Închidere fişier i<nra Da Extindere fişier Da nr <= n STOP Nu Poziţionare pe articolul cu numărul n Poziţionare la sfîrşit de Scrie articol fişier în fişier Nu Determinare poziţie i=i+1 curentă p Stop Citire articol de la poz. articole nr = p / dim.Simularea organizării relative a fişierelor în C START Creare fişier.is == 0 Refacere poziţie reţinută anterior 14 15 x. relativ articol nou n Dispare i=0 Da Determinare nr.is=0 articole nra Preformare fişier Preluare nr. relativ articol nou n 7 8 9 10 11 12 Adăugare 13 articol . cu populare Preluare nume fişier Deschidere fişier Pregătire fişier Ce Preformare se modifică dacă vrem să adăugăm articole într-un fişier existent? Preluare nr. articol Da Preluare restul cîmpurilor articolului Nu Mesaj de eroare „Cod duplicat” x.

is == 1 Preluare cheie articol căutat n STOP .Simularea organizării relative a fişierelor în C START Nu Verificare articol nr <= n Da Prelucrare articol unic. articole nr Verificare cheie (domeniu valori) Verificare articol indicat de cheie Prelucrare articol Mesaj de eroare Pregătire fişier „Cod eronat” Preluare cheie articol căutat n Poziţionare pe articolul cu numărul n !feof(stdin) Nu Citire articol de la poz. identificat după cheia relativă (căutare. modificare. curentă Da Prelucrare cheie Da Prelucrare articol Nu Mesaj de eroare „Cod eronat” Închidere fişier x.) Deschidere “rb+” Calcul nr. ştergere etc.

curentă Preluare nr. articole nr Citire articol de la poz.Simularea organizării relative a fişierelor în C START Da Preluare nume fişier Deschidere fişier Nu nr <= n Da Poziţionare pe articolul cu numărul n Mesaj de eroare „Cod eronat” Determinare nr. relativ articol căutat n Mesaj de eroare „Cod eronat” x. relativ articol căutat n Nu !feof(stdin) Nu Închidere fişier Preluare nr.is == 1 Da Prelucrare articol STOP .

Simularea organizării relative a fişierelor în C    Prelucrare interactivă sau automată? Căutare  Vizualizare articol găsit Modificare  Vizualizare articol (parţial sau total)  Confirmare (diverse metode)  Introducere valori noi  Rescriere articol. pe vechea lui poziţie în fişier  Ştergere  Modificarea cîmpului indicator de stare .

cu validare Renunţare? Vizualizare articol „Articol corect?” Răspuns Nu Se confirmă? Da Preluare valori noi ale cîmpurilor Poziţionare pe articolul cu numărul n Scriere articol la poziţia curentă Modificare abandonată .Simularea organizării relative a fişierelor în C Modificare Pentru cîmpurile a căror modificare se doreşte Citirea noilor valori se face în variabile separate.

identificate după o valoare comună (căutare. ştergere etc.) Pregătire fişier Preluare valoare căutată val Regăsirea tuturor articolelor corespunzătoare. în acces secvenţial. şi prelucrarea lor !feof(stdin) Nu Închidere fişier Da Prelucrare valoare Preluare valoare căutată val STOP .Simularea organizării relative a fişierelor în C START Prelucrare set de articole. modificare.

Simularea organizării relative a fişierelor în C Verificare articol valid Poziţionare la începutul fişierului Citire articol Verificare articol căutat !feof(f) Da x.is == 1 Da x.cîmp == val Da Prelucrare articol Nu Nu Nu Citire articol .

Simularea organizării relative a fişierelor în C .

Sign up to vote on this title
UsefulNot useful