Baza de Date a unui Catalog Scolar Limbajul de Programare C

Proiect
8/10 (1 vot)
Domeniu: Calculatoare
Conține 1 fișier: doc
Pagini : 34 în total
Cuvinte : 5196
Mărime: 34.25KB (arhivat)
Cost: 5 puncte
Profesor îndrumător / Prezentat Profesorului: Prof. Dr. Ing. MARIAN Gheorghe
Universitatea din Craiova, Facultatea de automatica, calculatoare si electronica

Cuprins

1. Tema proiectului 3

2. Propunere de rezolvare 3

3. Programul in C 4

4. Functiile folosite 33

4. Bibliografie 34

Extras din document

1. Tema proiectului

Se cere sa se realizeze o baza de date care sa simuleze un catalog scolar. Pentru realizarea bazei de date se vor folosi:

o un fisier text si un fisier binar;

- lista si un arbore de cautare;

- tehnica de programare (backtracking, divide et impera, etc.);

- tehnica de combinatorica iterativa;

- tehnica de sortare;

o informatiile din lista si arbore se vor retine in cel doua fisiere.

2. Propunere de rezolvare

Baza de date va fi construita in jurul celor doua structuri de informatii diferite. Lista simplu inlantuita va contine informatii despre elev iar arborele de cautare va contine mediile elevului. Informatiile din lista vor fi descarcate permanent din fisierul binar delev.dat iar informatiile din arborele de cautare vor fi descarcate din fisierul text melev.txt. Pentru a memora numele materiilor precum si numarul acestora se va folosi un alt fisier text denumit materii.txt.

Pentru a utiliza o tehnica de programare, „divide et impera” in cazul de fata, s-a presupus ca elevii unei clase vor trebui sa fie sortati dupa medie. Tehnica „divide et impera” a fost implementata in cadrul tehnicii de sortare „quick sort”.

Tehnica de combinatorica iterativa a fost folosita pentru a rezolva urmatoarea problema: Se pesupune ca utilizatorii acestui program vor avea nevoie ca in cadrul unui concurs sa aranjeze un numar par de elevi in grupuri de cate doi pentru a concura unul impotriva altuia. In acest scop s-au folosit combinari.

Pe langa tehnica „quick sort”, s-a folosit si tehnica de sortare prin selectie. Aceasta tehnica a fost folosita pentru a aranja elevii dintr-o clasa in ordinea in care ar aparea inrt-un catalog real.

3. Programul in limbajul C

# include <stdio.h>

# include <conio.h>

# include <stdlib.h>

# include <ctype.h>

# include <math.h>

# include <string.h>

typedef struct{

int nc;

char nume[25];

char prenume[25];

char cnp[14];

char clasa[7];

} elev;

typedef struct{

int nc;

float medii[25];

float ms1;

float ms2;

float mg;

} medie;

typedef struct{

int nc;

float mg;

} medgen;

typedef struct tipnod{

elev inf;

struct tipnod *urm;

} nod;

typedef struct tnod{

medie info;

struct tnod *st;

struct tnod *dr;

}mnod;

nod *p,*d,*tt,*d1;

mnod *p1,*t,*q,*r,*rad,*rr;

FILE *f1,*f2,*f3,*f5,*f9;

elev e1,e[50];

medie m1;

medgen m2[50];

int n,del,kk,v[50],v1[50],nn,mm,ig,v2[50],m;

tnod* adaugare(mnod *p1,medie m1,int x1)

{

int jj;

if (p1== NULL)

{

p1=new mnod;

p1->info.nc=m1.nc;

for (jj=0;jj<2*x1;jj++)

p1->info.medii[jj]=m1.medii[jj];

p1->info.ms1=m1.ms1;

p1->info.ms2=m1.ms2;

p1->info.mg=m1.mg;

p1->st=NULL;

p1->dr=NULL;

}

else

if (m1.nc<p1->info.nc)

p1->st=adaugare(p1->st,m1,x1);

else

if (m1.nc>p1->info.nc)

p1->dr=adaugare(p1->dr,m1,x1);

return p1;

}

tnod* creare(mnod *p1,int x1)

{

int ii;

p1=NULL;

f9=fopen("melev.txt","rt");

fscanf(f9,"%d",&m1.nc);

for (ii=0;ii<2*x1;ii++)

fscanf(f9,"%f",&m1.medii[ii]);

fscanf(f9,"%f",&m1.ms1);

fscanf(f9,"%f",&m1.ms2);

fscanf(f9,"%f",&m1.mg);

p1=adaugare(p1,m1,x1);

while(!feof(f9))

{

fscanf(f9,"n");

fscanf(f9,"%d",&m1.nc);

for (ii=0;ii<2*x1;ii++)

fscanf(f9,"%f",&m1.medii[ii]);

fscanf(f9,"%f",&m1.ms1);

fscanf(f9,"%f",&m1.ms2);

fscanf(f9,"%f",&m1.mg);

p1=adaugare(p1,m1,x1);

}

return p1;

}

tnod *adaugare_medii(mnod *p1,int x,int x1)

{

int i;

if (p1==NULL)

Preview document

Baza de Date a unui Catalog Scolar Limbajul de Programare C - Pagina 1
Baza de Date a unui Catalog Scolar Limbajul de Programare C - Pagina 2
Baza de Date a unui Catalog Scolar Limbajul de Programare C - Pagina 3
Baza de Date a unui Catalog Scolar Limbajul de Programare C - Pagina 4
Baza de Date a unui Catalog Scolar Limbajul de Programare C - Pagina 5
Baza de Date a unui Catalog Scolar Limbajul de Programare C - Pagina 6
Baza de Date a unui Catalog Scolar Limbajul de Programare C - Pagina 7
Baza de Date a unui Catalog Scolar Limbajul de Programare C - Pagina 8
Baza de Date a unui Catalog Scolar Limbajul de Programare C - Pagina 9
Baza de Date a unui Catalog Scolar Limbajul de Programare C - Pagina 10
Baza de Date a unui Catalog Scolar Limbajul de Programare C - Pagina 11
Baza de Date a unui Catalog Scolar Limbajul de Programare C - Pagina 12
Baza de Date a unui Catalog Scolar Limbajul de Programare C - Pagina 13
Baza de Date a unui Catalog Scolar Limbajul de Programare C - Pagina 14
Baza de Date a unui Catalog Scolar Limbajul de Programare C - Pagina 15
Baza de Date a unui Catalog Scolar Limbajul de Programare C - Pagina 16
Baza de Date a unui Catalog Scolar Limbajul de Programare C - Pagina 17
Baza de Date a unui Catalog Scolar Limbajul de Programare C - Pagina 18
Baza de Date a unui Catalog Scolar Limbajul de Programare C - Pagina 19
Baza de Date a unui Catalog Scolar Limbajul de Programare C - Pagina 20
Baza de Date a unui Catalog Scolar Limbajul de Programare C - Pagina 21
Baza de Date a unui Catalog Scolar Limbajul de Programare C - Pagina 22
Baza de Date a unui Catalog Scolar Limbajul de Programare C - Pagina 23
Baza de Date a unui Catalog Scolar Limbajul de Programare C - Pagina 24
Baza de Date a unui Catalog Scolar Limbajul de Programare C - Pagina 25
Baza de Date a unui Catalog Scolar Limbajul de Programare C - Pagina 26
Baza de Date a unui Catalog Scolar Limbajul de Programare C - Pagina 27
Baza de Date a unui Catalog Scolar Limbajul de Programare C - Pagina 28
Baza de Date a unui Catalog Scolar Limbajul de Programare C - Pagina 29
Baza de Date a unui Catalog Scolar Limbajul de Programare C - Pagina 30
Baza de Date a unui Catalog Scolar Limbajul de Programare C - Pagina 31
Baza de Date a unui Catalog Scolar Limbajul de Programare C - Pagina 32
Baza de Date a unui Catalog Scolar Limbajul de Programare C - Pagina 33
Baza de Date a unui Catalog Scolar Limbajul de Programare C - Pagina 34

Conținut arhivă zip

  • Baza de Date a unui Catalog Scolar Limbajul de Programare C.doc

Alții au mai descărcat și

Prezentarea de Albume Fotografice pe Web Folosind Generarea Automată a Paginilor Web cu Ajutorul Programului Access

Argument Paginile continând albume foto reprezintă astăzi o mare atracţie pentru utilizatorii internetului. Subiectele imaginilor sunt variate de...

Tehnici de Programare - Evidenta Jucatorilor unei Echipe de Fotbal

Tema si cerintele proiectului: Evidenta jucatorilor unei echipe de fotbal. Avem doua structuri cu urmatoarele campuri: 1) Pentur fiser text si...

Evidenta unor Masini dintr-un Parc Auto

Tema proiectului: Operaţii efectuate cu fişiere, liste si arbori.Avem o bazã de date care tine evidenta unor masini dintr-un parc auto. Acestea...

Biblioteca

În această lucrare s-a dorit prezentarea efectivă a modului de utilizare a bazelor de date şi a unui limbaj ce se pretează bazelor de date....

Tehnici de Programare

I.TEMA SI CERINTELE PROIECTULUI Tema proiectului o reprezinta evidenta gimnastilor si a performantelor obtinute de acestia la un campionat...

Sistem Informatic pentru Evidența Școlară

INTRODUCERE În prezenta lucrare mi - am propus să prezint etapele analizei, proiectării şi implementării unei baze de date de evidentă şcolară....

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; -...

Ai nevoie de altceva?