Descrierea programului
Programul realizat este un program multifunctional ce realizeaza gestiunea cartilor dintr-o librarie.
Programul utilizeaza un fisier secvential ce contine informatii despre fiecare carte din librarie,avand urmatoarea structura a articolului:
Carte:
ISBN Titlu Autor Editura Categorie An_aparitie Pret
• ISBN – variabila de tip int – reprezinta codul de identificare al cartii
• Titlu – variabila de tip char – reprezinta titlul cartii
• Autor – variabila de tip char – reprezinta autorul cartii
• Editura – variabila de tip char – reprezinta editura de unde provine cartea
• Categorie – variabila de tip int – reprezinta codul categoriei din care face parte cartea
• An_aparitie – variabila de tip int – reprezinta anul aparitiei cartii
• Pret – variabila de tip float – reprezinta pretul cartii
Programul pune la dispozitie testarea a diferite functii de prelucrare a fisierelor secventiale: creare a fisierului, adaugarea de date noi in fisier (carti,in cazul acesta), modificarea datelor din fisier,listarea continutului fisierului intr-un fisier text (cu cautare dupa ISBN sau dupa categorie), sortarea fisierului dupa 2 campuri (categorie si an aparitie), calcularea pretului mediu al cartilor pentru fiecare categorie si fiecare an de aparitie al cartilor.
Toate aceste operatii sunt apelabile in cadrul meniului programului.
Meniul afiseaza optiunile disponibile, din care utilizatorul poate alege, prin introducerea de la tastatura a numarului asociat optiunii respective.De asemenea,utilizatorul trebuie sa precizeze numele fisierului de unde se preiau datele.
Fiecare optiune a meniului realizeaza intai verificarea, pentru a vedea daca optiunea aleasa exista sau daca fisierul poate fi deschis. In cazul contrar, meniul este afisat din nou, utilizatorul avand posibilitatea sa aleaga o alta optiune sau sa introduca un alt nume de fisier.
-Observatie:
Datele necesare se preiau de la tastatura, iar sfarsitul introducerii se face prin apasarea tastelor CTRL+Z.
Codul sursa
#include <stdio.h>
#include <string.h>
#include <conio.h>
//Definirea structurii fisierului secvential 'carti'
typedef struct {
int isbn;
char titlu[50];
char autor[50];
char editura[20];
int categorie;
int an_aparitie;
float pret;
}carte;
carte c,c1,c2;
char nume[30];
FILE *f,*g;
//Meniul Programului
void meniu()
{printf("n~_~_~_~_~_~_~_~_~_~_~LIBRARIE~_~_~_~_~_~_~_~_n");
printf ("nOptiuni:nn"); //lista operatiilor ce se pot realiza
printf (" 0.Iesiren");
printf (" 1.Creare fisierului de gestiune a librariein");
printf (" 2.Adaugarea de noi carti in fisiern");
printf (" 3.Listarea cartilor din fisiern");
printf (" 4.Listare informatilor despre cartile al caror ISBN se introduce de la tastaturan");
printf (" 5.Modificarea pretului pentru cartile cu ISBN introdus de la tastaturan");
printf (" 6.Listarea informatilor despre cartile dintr-o categorie introdusa de la tastatura");
printf (" 7.Cresterea pretului cu 10procente pentru cartile de la o editura al carei nume se introduce de la tastaturan");
printf (" 8.Sortarea cartilor dupa categorie si anul aparitiein");
printf (" 9.Afisarea pretului mediu pentru fiecare categorie si fiecare ann");
printf (" 10.Stergerea cartii cu ISBN introdus de la tastaturan");
printf (" 11.Copierea continutului unui fisier in alt fisiern");
}
//1.Crearea fisierului secvential 'carti'
void creare()
{
f=fopen (nume,"wb"); //deschiderea fisierului pentru scriere
printf("ISBN: ");scanf("%d",&c.isbn); //citirea primului articol
while(!feof(stdin))
{
printf("Titlu: ");fflush(stdin);gets(c.titlu);
printf("Autor: ");gets(c.autor);
printf("Editura: ");gets(c.editura); //se citesc articole pana la sfarsitul standard de la tastatura (ctrl+z)
printf("Categorie: ");scanf("%d",&c.categorie);
printf("An aparitie: ");scanf ("%d",&c.an_aparitie).
Academia de Studii Economice
Facultatea de Cibernetica,Statistica si Informatica Economica
Specializarea Cibernetica Economica
Pentru a descărca acest document,
trebuie să te autentifici in contul tău.