Creeaza.com - informatii profesionale despre


Cunostinta va deschide lumea intelepciunii - Referate profesionale unice
Acasa » referate » informatica » baze de date
Structuri de date - proiect - agenda telefonica

Structuri de date - proiect - agenda telefonica


ACADEMIA DE STUDII ECONOMICE

FACULTATEA DE CIBERNETICa, STATISTICa si INFORMATICA ECONOMICA

Structuri de date

PROIECT


AGENDA TELEFONICA

Cuprins

Introducere

Structura programului

Structurile de date utilizate intern

Descrierea implementarii operatiilor de baza

Concluzii

Bibliografie

Anexe

1. Introducere

Obiectivul proiectului este acela de a creea o agenda telefonica, astfel se realizeaza o mai usoara evidenta a contactelor, retinand atat numarul de telefon, cat si orasul, judetul si strada fiecarui abonat in parte.

Programul ofera o posibilitate fiabila pentru gestionarea agendei telefonice personale sau a unei companii. Toate operatiile se efectueaza cu ajutorul meniului de inceput; acesta permite adaugarea, vizualizarea, stergerea si cautarea contactelor.

Datele se adauga interactiv de la tastatura; la iesirea din aplicatie, agenda modificata se salveaza automat intr-un fisier.

2. Structura programului

Programul lucreaza cu o lista simplu inlantuita, ce foloseste ca informatie articole cu urmatoarele campuri :

struct abonat

In program se utilizeaza tipuri de date: numeric (date de tip int si double) si sir de caractere (date te tip char).

Programul realizeaza citirea de la tastatura a datelor, dupa care se   introduc intr-un fisier care va fi citit de fiecare data cand se va rula programul. Dupa citirea datelor utilizatorul poate alege intre mai multe functii aflate in meniul din programul principal.

3. Structurile de date utilizate intern:

Programul utilizeaza urmatoarele structuri de date: fisierul, lista simplu inlatuita si masivul unidimensional - vectorul.

Fisierul este o colectie de date omogene stocate pe un suport de memorie externa.

Indiferent de limbajul de programare folosit, operatiile necesare pentru prelucarea fisierelor sunt urmatoarele:

Descrierea fisierului;

Asignarea fisierului intern (numele logic) la unul extern;

Deschiderea fisierului;

Operatii de acces la date;

Inchiderea fisierului.

Listele simplu inlantuite

O lista inlantuita este o structura de date in care obiectele sunt aranjate intr-o anumita ordine. Spre deosebire de un tablou, in care ordinea este determinata de indicii tabloului, ordinea intr-o lista inlantuita este determinata de un pointer continut in fiecare obiect. Listele inlantuite asigura o reprezentare mai simpla si mai flexibila pentru multimi dinamice, suportand toate operatiile clasice: adauga element, elimina element, cauta element etc.

Unei liste simplu inlantuite i se omite referinta catre elementul anterior. Astfel putem spune ca avem informatii referitoare doar la urmatorul element, informatiile catre anterior lipsind.

Structura nodurilor din lista simpla inlantuita este urmatoarea:

struct lista ;

Masivele sunt structuri de date omogene cu un numar finit si cunoscut de elemente, ce ocupa un spatiu contiguu de memorie. Structurile de date de tip masiv reprezinta instrumente de stocare a datelor sub forma de zone compacte si continue din memoria calculatorului.
Un masiv este caracterizat de urmatoarele elemente: 
- numele;
- tipul de data asociat;
- numarul de dimensiuni;
- numarul de elemente pentru fiecare dimensiune.

Masive unidimensionale (vectori)
Vectorii sunt masive unidimensionale. In C++ vectorii se declara folosind sintaxa: 
tip nume[n];
unde: 
- tip - tipul de data folosit; poate fi unul din tipurile de baza (int, float, char, .) sau un tip definit de utilizator (articole, obiecte);
- nume - numele prin care va fi referit vectorul; 
- n - numarul de elemente ale vectorului.
In varianta statica, un masiv unidimensional v cu maxim 100 de elemente se defineste astfel: int v[100]; In varianta dinamica, definirea este realizata printr-un pointer la masivul unidimensional v: int *v;

4. Descrierea implementarii operatiilor de baza:

Programul utilizeaza urmatoarele functii

citire_abonat(abonat* &a)

- primeste ca parametru un articol de tip abonat

- preia de la tastatura cod, numele persoanei, adresa, oras, judet si telefon.

inserare_nod(lista*& prim, abonat *x)

Primeste ca parametrii primul element al listei si un articol de tip abonat

Functia adauga in lista simplu inlantuita un element nou de tip abonat

3. abonat* cautare(char *nm,lista* prim)

- functia primeste ca parametrii un element de tip char si primul element al listei simplu inlantuite. Aceasta returneaza o valoare de tip abonat.

- functia cauta in lista abonatul dupa un anumit nume dupa care il returneaza

afisare_abonat(abonat* a)

- primeste ca parametru un element de tip abonat

- afiseaza din lista abonatul cautat

stergere_nod(char *nm,lista*& prim)

- primeste ca parametrii un element de tip char semnificand numele si primul element al listei;

- aceasta functie sterge un element din lista cautat dupa un nume dat;

void salvare(lista* prim,FILE *f)

- primeste ca parametrii primul element al listei si fisierul in care se stocheaza datele care au fost folosite in program;

- functia salveaza elementele din lista in fisier dupa ce au fost facute modificari

void list_ls(lista* prim)

- functia primeste ca parametru primul element al listei si apoi afiseaza toate elementele acesteia;

void afisare_oras(char *or, lista* prim)

-functia primeste ca parametrii un element char ce reprezinta orasul cautat si primul element al listei.

-cauta in intreaga lista toti abonatii ce se gasesc intr-un anume oras.

5. Concluzii

In urma elaborarii acestui proiect am ajuns la urmatoarele concluzii :

Acest program este usor de folosit si necesita foarte putine resurse. Asigura cea mai buna si mai rapida metoda de stocare a datelor, fisierul.

Dupa incheierea operatiilor, aplicatia salveaza agenda automat intr-un fisier, de unde poate fi preluata mai apoi, si elibereaza zona de memorie ocupata. Aceste caracteristici fac acest program fiabil si de incredere.

6. Bibliografie

[IVAN08]

Ion IVAN, Marius POPA, Paul POCATILU - - Structuri de date,vol.1 si 2, Editura ASE, Bucuresti, 2008

[ROSC03]

Ion Gh. Rosca, Bogdan Ghilic Micu, Catalina Lucia Cocianu, Marian Stoica, Cristian Uscatu - Programarea calculatoarelor. Stiinta invatarii unui limbaj de programare. Teorie si aplicatii, Editura ASE, Bucuresti, 2003.

[SMEU01]

Ion SMEUREANU, Marian DARDALA,"Programare in limbajul C/C++

Editura Cison, Bucuresti 2001





Politica de confidentialitate


creeaza logo.com Copyright © 2024 - Toate drepturile rezervate.
Toate documentele au caracter informativ cu scop educational.