This shows you the differences between two versions of the page.
programare:laboratoare:lab12cb [2014/01/13 20:06] bogdan.nicula [Enuntul laboratorului] |
programare:laboratoare:lab12cb [2014/01/13 20:38] (current) bogdan.nicula [Tools] |
||
---|---|---|---|
Line 115: | Line 115: | ||
<code c> | <code c> | ||
/* Elibereaza spatiul alocat pentru baza de date aflata la adresa aag.*/ | /* Elibereaza spatiul alocat pentru baza de date aflata la adresa aag.*/ | ||
- | void Elib(ADB* aag); | + | void elibereaza(ADB* aag); |
/* Afiseaza baza de date aflata la adresa ag */ | /* Afiseaza baza de date aflata la adresa ag */ | ||
- | void Afi(DB *ag); | + | void afiseaza(DB *ag); |
/* Aloca spatiu pentru o baza de date cu maximum MP persoane si NA analize. */ | /* Aloca spatiu pentru o baza de date cu maximum MP persoane si NA analize. */ | ||
- | ADB Aloc(int MP, int NA); | + | ADB aloca(int MP, int NA); |
/* Scrie baza de date aflata la adresa ag in fisierul binar filename. */ | /* Scrie baza de date aflata la adresa ag in fisierul binar filename. */ | ||
Line 131: | Line 131: | ||
</code> | </code> | ||
- | De aici {{:programare:laboratoare:lab12cb.zip|}} puteti descarca scheletul laboratorului. | + | De aici {{:programare:laboratoare:lab12_schelet.zip|}} puteti descarca scheletul laboratorului. |
El contine fisierele: | El contine fisierele: | ||
Line 139: | Line 139: | ||
* in.txt : Fisier text de test | * in.txt : Fisier text de test | ||
* in.bin : Fisier binar de test | * in.bin : Fisier binar de test | ||
+ | * Makefile | ||
- | <note>Este suficient sa compilati fisierul main.c </note> | + | <note>Pentru compilare puteti rula make build. In urma acesteia va rezulta executabilul lab12. Acesta il puteti testa cu fisierul text in.txt: "./lab12 in.txt"</note> |
Line 149: | Line 150: | ||
- [2p] Scrieti o functie de afisare selectiva a coloanelor din baza de date. Aceasta va interoga userul(stdin) cu privire la coloanele care trebuiesc afisate si ordinea lor, si apoi le va afisa doar pe acestea, in ordinea specificata. | - [2p] Scrieti o functie de afisare selectiva a coloanelor din baza de date. Aceasta va interoga userul(stdin) cu privire la coloanele care trebuiesc afisate si ordinea lor, si apoi le va afisa doar pe acestea, in ordinea specificata. | ||
- | - [2.5p] Scrieti functiile: <code c> | + | - [4p] Scrieti functiile: <code c> |
/*Citeste o baza de date dintr-un fisier binar. | /*Citeste o baza de date dintr-un fisier binar. | ||
Se ocupa si de alocarea spatiului pentru baza de date si vectorii de persoane si de analize. */ | Se ocupa si de alocarea spatiului pentru baza de date si vectorii de persoane si de analize. */ | ||
Line 157: | Line 158: | ||
int writeToText(char *filename, DB *ag) | int writeToText(char *filename, DB *ag) | ||
</code>Folositi ca modele functiile **writeToBinary**, respectiv **readFromText**. Pentru functia **readFromBinary** tineti cont de faptul ca pentru fiecare persoana vectorul de analize(aa) va trebui sa pointeze catre o zona din vectorul a3 al bazei de date. | </code>Folositi ca modele functiile **writeToBinary**, respectiv **readFromText**. Pentru functia **readFromBinary** tineti cont de faptul ca pentru fiecare persoana vectorul de analize(aa) va trebui sa pointeze catre o zona din vectorul a3 al bazei de date. | ||
- | - [3.5p] Modificati functia main astfel incat programul vostru sa poata fi apelat astfel:<code> | + | - [2p] Modificati functia main astfel incat programul vostru sa poata fi apelat astfel:<code> |
./executabil nume_fis_intrare nume_fis_iesire | ./executabil nume_fis_intrare nume_fis_iesire |