Gestiunea Bazei de Date a unei Librării

Proiect
8/10 (1 vot)
Domeniu: Calculatoare
Conține 1 fișier: doc
Pagini : 15 în total
Cuvinte : 2409
Mărime: 12.99KB (arhivat)
Publicat de: Petre Boca
Puncte necesare: 7
Profesor îndrumător / Prezentat Profesorului: Lorena Batagan
Academia de Studii Economice, Bucureşti -Cibernetică, Statistică şi Informatică Economică-

Extras din proiect

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;

- Permite adăugarea de noi înregistrări;

- Permite modificarea editurii cărţilor;

- Permite ştergerea unei înregistrări;

- Afişarea cărţilor aparţinând unei anumite edituri;

- Afişarea cărţilor după cota unică;

- Sortarea cărţilor după editură şi autor.

Datele sunt iniţial memorate într-un fişier binar organizat relativ. Programul permite afişarea într-un fişier text a înregistrărilor făcute în fişierul binar iniţial, însă pentru consultare se va folosi doar fişierul binar. De asemenea, listarea cărţilor după cote şi după gradele de total se va face în fişier text.

Atributele care caracterizează înregistrările sunt următoarele:

- Is: este indicatorul de stare,acesta luand valorile 0 daca pe linia din fisier nu sunt introduse date si 1 daca sunt introduse date;

- Cota: cod unic – ia valori numerice;

- Autor: autorul cărţii;

- Titlu: titlul cărţii;

- Editura: editura de care aparţine cartea;

- Anul apariţiei: anul în care a fost publicată cartea;

- Vânzări[i]: valoarea in lei a vânzării cărţii în lunile I, II şi III.

Aplicaţia este realizată în C şi constă dintr-o serie de subprograme ce sunt apelate în programul principal:

- nr_art(): numără înregistrările dintr-un fişier. Este de tip integer şi are 2 argumente: fişierul şi o mărime de tip int ce va fi egală cu lungimea unei înregistrări la momentul apelului funcţiei;

- creare_fisier_date(): creează fişierul binar şi îl încarcă cu înregistrări;

- afişare_fişier_date(): realizează listarea înregistrărilor din fişierul binar atât pe monitor cât şi în fişierul text „Afisare date.txt”;

- adaugare_date(): adaugă date în fişierul deja creat;

- modificare_editura(): modifică editura unei cărţi a cărei cotă este introdusă de la tastatură;

- stergere_carte(): sterge o carte a cărei cotă este introdusă de la tastatură;

- listare_editura(): listează toate cărţile aparţinând unei edituri introduse de la tastatură;

- listare_cota(): listează toate atributele unei cărţi a cărei cotă este introdusă de la tastatură atât pe ecran cât şi în fişierul text „Listare cota.txt”;

- creare_secv(): copiază înregistrările într-un fişier secvenţial („fis.secv.dat”) pentru a le pregăti de sortare;

- sort(): sortează înregistrările din fişierul secvenţial după editură iar în interiorul editurii, după autor;

- grade(): problema cu grade de total. Calculează media vânzărilor pentru fiecare carte, pentru fiecare editură şi pe întreaga librărie.

#include <stdio.h>

#include <conio.h>

#include <stdlib.h>

#include <process.h>

#include <string.h>

#include <ctype.h>

typedef struct

{

int an_aparitie, is, cota, vanzari[3];

char autor[30], titlu[20], editura[25];

} carte;

int nr_art(FILE *f, int l)

{

long p;

int n;

fseek(f,0,2);

p=ftell(f);

n=p/l;

return n;

}

void creare_fisier_date()

{

int i, nr, corect;

carte c;

char sir[30];

FILE *f;

f=fopen("fisier.dat","wb+");

corect=0;

do

{

printf("Introduceti cota "); fflush(stdin);gets(sir);

corect = 1;

for (unsigned char j=0; j<strlen(sir); j++)

if (!isdigit(sir[j])) corect=0;

}

while (corect==0);

nr=atoi(sir);

while(!feof(stdin))

{

if(nr>=nr_art(f,sizeof(carte)))

{

c.is=0;

fseek(f,0,2);

for(i=nr_art(f,sizeof(carte));i<=nr;i++)

fwrite(&c,sizeof(carte),1,f);

}

fseek(f,nr*sizeof(carte),0);

fread(&c,sizeof(carte),1,f);

if (c.is==1)

printf("Exista o carte cu aceasta cotann");

else

{

fseek(f,nr*sizeof(carte),0);

c.cota=nr;

corect=0.

Preview document

Gestiunea Bazei de Date a unei Librării - Pagina 1
Gestiunea Bazei de Date a unei Librării - Pagina 2
Gestiunea Bazei de Date a unei Librării - Pagina 3
Gestiunea Bazei de Date a unei Librării - Pagina 4
Gestiunea Bazei de Date a unei Librării - Pagina 5
Gestiunea Bazei de Date a unei Librării - Pagina 6
Gestiunea Bazei de Date a unei Librării - Pagina 7
Gestiunea Bazei de Date a unei Librării - Pagina 8
Gestiunea Bazei de Date a unei Librării - Pagina 9
Gestiunea Bazei de Date a unei Librării - Pagina 10
Gestiunea Bazei de Date a unei Librării - Pagina 11
Gestiunea Bazei de Date a unei Librării - Pagina 12
Gestiunea Bazei de Date a unei Librării - Pagina 13
Gestiunea Bazei de Date a unei Librării - Pagina 14
Gestiunea Bazei de Date a unei Librării - Pagina 15

Conținut arhivă zip

  • Gestiunea Bazei de Date a unei Librarii.doc

Te-ar putea interesa și

Microsoft Visual FoxPro

Datorita implicarii tot mai accentuate a calculatoarelor in multe domenii de activitate,sfera problemelor rezolvate cu ajutorul calculatorului s-a...

Baze de date relaționale - proiectare și implementare

INTRODUCERE Tema proiectului Proiectul tratează aspecte teoretice ale proiectării bazelor de date relaţionale şi transpune aceste aspecte în...

Bază de date pentru gestiunea livrărilor unei librării online către clienții din străinătate

Descrierea bazei de date: Baza de date contine informatii despre clientii ce au cumparat carti de pe site-ul de internet al librariei, adresa lor...

Ai nevoie de altceva?