Algoritmi - fișiere organizate relativ

Proiect
7/10 (1 vot)
Domeniu: Calculatoare
Conține 2 fișiere: doc, cpp
Pagini : 19 în total
Cuvinte : 3231
Mărime: 18.98KB (arhivat)
Publicat de: Raul Pașca
Puncte necesare: 10
Profesor îndrumător / Prezentat Profesorului: Marinela Mircea

Extras din proiect

Prelucrarea fisierelor binare care necesita actualizare trebuie sa asigure posibilitatea stergerii articolelor si sa elimine riscul de suprascriere a articolelor adaugate.Pentru aceasta ,trebuie proiectate structure particulare de articole si concepute operatii de gestiune specific.

Organizarea fisierelor care asigura identificarea articolelor prin numarul lor relative se numeste organizare relativa.

In exemplul ce urmeaza aplicatia realizata permite gestiunea cartilor dintr-o librarie.

Fisierul principal de date contine cod carte, titlu , autor, editura,categorie,an_aparitie, prêt si cantitate. , cu urmatoarea structura cod(int cod), titlu( char titlu[30]), autor(char autor[30]),editura(char editura[30]),an_aparitie(int an_aparitie ), prêt (int prêt) , cantitate (int cantitate ),categorie(char categorie [30]).

typedef struct {int is,cod;

char titlu [30];

char autor [30];

char editura [30];

char categorie[30]

int an_aparitie ;

int pret;

int cantitate ;}

carte;

Utilizatorul are la dispozitie un meniu cu mai multe optiuni:

1. Creare

2. Adaugare Carte

3. Stergere carte

4. Modificare carte

5. Copiere in fis text

6. Afisare carti

7. Raport pe an_aparitie si

8. Cautare autor

9. Cautare titlu

0. Iesirenn")

Codul sursa al meniului este :

void meniu()

{

printf ("nnnn Program Gestiune Librarien ");

printf("nnn");

printf("**********************************n");

printf("Alegeti o operatie:nn");

printf("1. Creare nn");

printf("2. Adaugare Carte nn");

printf("3. Stergere carte nn");

printf("4. Modificare cartenn");

printf("5. Copiere in fis textnn");

printf("6. Afisare carti nn");

printf("7. Raport nn");

printf("8. Cautare autornn");

printf("9. Cautare titlunn");

printf("0. Iesirenn");

printf("**********************************n");

}

functie ce va fi apelata in programul principal :

void main()

{

FILE *f;

int opt;

meniu();

printf("Introduceti optiunea: ");

scanf_s("%d",&opt);

while(opt)

{

switch(opt)

{

case 1:

printf("Ai ales sa creezi fisierul pentru gestiunea cartilorn");

creare();

break;

case 2:

printf(" Ai ales sa adaugi o carte n");

adaugare();

break;

case 3:

printf("Ai ales sa stergi o carte n");

stergere ();

break;

case 4:

modificare_carti();

break;

case 5:

copiere_in_fis_text();

break;

case 6:

afisare_carti();

break;

case 7: raport();

break;

case 8:

cautare_autor();

break;

case 9:

cautare_titlu();

break;

default:

printf("Optiune inexistenta! Reincearca!");

break;

}

meniu();

printf("Introduceti optiunea: ");

scanf_s("%d",&opt);

}

}

Limbajul C nu oferă o funcţie standard pentru calcularea numărului de articole dintr-un fişier binar, deoarece, din punctul de vedere al limbajului, fişierele nu conţin articole. Din punctul de vedere al utilizatorului, cunoscând dimensiunea unui articol, se poate calcula numărul de articol de fişier, împărţind lungimea acestuia la lungimea unui articol (ambele măsurate în număr de octeţi). Lungimea fişierului este egală cu poziţia curentă, atunci când pointerul de citire se află la sfârşitul fişierului. Pentru aflarea numărului de articole, se foloseşte secvenţa următoare:

int nr_art(FILE* f, int l)

{long poz=ftell(f);

fseek(f,0,2);

int c=ftell(f)/l;

fseek(f,poz,0);

return c;}

poz retine pozitia curenta in fisier ,apoi ne pozitionam la sfarsitul fisierului .In variabila c se memoreaza nr de articole prin impartirea lungimii zonei totale de memorie la lungimea unui articol

Preview document

Algoritmi - fișiere organizate relativ - Pagina 1
Algoritmi - fișiere organizate relativ - Pagina 2
Algoritmi - fișiere organizate relativ - Pagina 3
Algoritmi - fișiere organizate relativ - Pagina 4
Algoritmi - fișiere organizate relativ - Pagina 5
Algoritmi - fișiere organizate relativ - Pagina 6
Algoritmi - fișiere organizate relativ - Pagina 7
Algoritmi - fișiere organizate relativ - Pagina 8
Algoritmi - fișiere organizate relativ - Pagina 9
Algoritmi - fișiere organizate relativ - Pagina 10
Algoritmi - fișiere organizate relativ - Pagina 11
Algoritmi - fișiere organizate relativ - Pagina 12
Algoritmi - fișiere organizate relativ - Pagina 13
Algoritmi - fișiere organizate relativ - Pagina 14
Algoritmi - fișiere organizate relativ - Pagina 15
Algoritmi - fișiere organizate relativ - Pagina 16
Algoritmi - fișiere organizate relativ - Pagina 17
Algoritmi - fișiere organizate relativ - Pagina 18
Algoritmi - fișiere organizate relativ - Pagina 19

Conținut arhivă zip

  • Algoritmi - Fisiere Organizate Relativ.doc
  • final.cpp

Alții au mai descărcat și

Arhitectura calculatoarelor - Intel vs AMD

Rezultatele din testul 3DS Max 7 SPECapc Test Testul alaturat consta in crearea modelelor 3D, modificarea si randarea scripturilor. Conform...

Autentificarea prin semnătură digitală

Introducere O semnatura digitala reprezinta o informatie care il identifica pe expeditorul unui document. Semnatura digitala este creata prin...

Placa de Bază

Caracteristici generale ale placii de baza Placa de baza este un dizpozitiv ‘de baza’ un ‘pamânt’ pe care ‘se planteaza’ celelalte componente ....

Sistem de Prognosticare a Unei Avarii

Acest sistem calculeaza gradul de avariere a unei cladiri în cazul unui cutremur, precum si posibila necesitate a reconstructiei cladirii (partiala...

Te-ar putea interesa și

Sistem informatic privind evidența depozitelor bancare

CAPITOLUL 1. DEPOZITE BANCARE – Concepte,clasificaţii, trăsături „Competiţia funcţionează cel mai bine atunci când competitorilor le sunt clare...

Algoritmi - Gesiune Hotel

In acest proiect am lucrat cu fisiere organizate relative .Programul ajuta la gestionarea clientilor unui hotel. Am lucrat cu 2 fisiere organizate...

Algoritmi în Programare - Gestiunea unui Magazin Vestimentar

Prezentare proiect Tema proiectului: Sa se realizeze in limbajul C un program multifunctional pentru gestiunea fisierelor. Fisierul principal...

Algoritmi în programare despre evidența unei biblioteci

1) Enuntul detaliat al temei alese Proiectul contine un fisier organizat relativ care se ocupa cu gestionarea datelor dintr-o librarie care pune...

Gestiunea Bazei de Date a unei Librării

Introducere Aplicaţia realizează gestiunea activităţii unei librării: - Înregistrează într-o bază de date cărţile care se găsesc în librărie; -...

Proiect algoritmi în programare - fișiere organizate relativ

Fişiere organizate relativ În acest proiect am încercat crearea unui fişier organizat relativ. Programul gestionează produsele existente într-un...

Algoritmi în Programare

I.PREZENTAREA TEMEI Aplicaţia realizată este folosită pentru gestiunea stocurilor de medicamente dintr-- farmacie. Prelucrările aplicaţiei...

Algoritmi în Programare

Baza de date Programul creeaza fisiere cu o baza de date continand contacte, modificarile aduse datelor cu privire la fiecare contact putand fi...

Ai nevoie de altceva?