Bază de date a unui catalog școlar 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)
Publicat de: Dorinel Cornea
Puncte necesare: 8
Profesor îndrumător / Prezentat Profesorului: Prof. Dr. Ing. MARIAN Gheorghe
Universitatea din Craiova, Facultatea de automatica, calculatoare si electronica

Cuprins

  1. 1. Tema proiectului 3
  2. 2. Propunere de rezolvare 3
  3. 3. Programul in C 4
  4. 4. Functiile folosite 33
  5. 4. Bibliografie 34

Extras din proiect

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

Bază de date a unui catalog școlar limbajul de programare C - Pagina 1
Bază de date a unui catalog școlar limbajul de programare C - Pagina 2
Bază de date a unui catalog școlar limbajul de programare C - Pagina 3
Bază de date a unui catalog școlar limbajul de programare C - Pagina 4
Bază de date a unui catalog școlar limbajul de programare C - Pagina 5
Bază de date a unui catalog școlar limbajul de programare C - Pagina 6
Bază de date a unui catalog școlar limbajul de programare C - Pagina 7
Bază de date a unui catalog școlar limbajul de programare C - Pagina 8
Bază de date a unui catalog școlar limbajul de programare C - Pagina 9
Bază de date a unui catalog școlar limbajul de programare C - Pagina 10
Bază de date a unui catalog școlar limbajul de programare C - Pagina 11
Bază de date a unui catalog școlar limbajul de programare C - Pagina 12
Bază de date a unui catalog școlar limbajul de programare C - Pagina 13
Bază de date a unui catalog școlar limbajul de programare C - Pagina 14
Bază de date a unui catalog școlar limbajul de programare C - Pagina 15
Bază de date a unui catalog școlar limbajul de programare C - Pagina 16
Bază de date a unui catalog școlar limbajul de programare C - Pagina 17
Bază de date a unui catalog școlar limbajul de programare C - Pagina 18
Bază de date a unui catalog școlar limbajul de programare C - Pagina 19
Bază de date a unui catalog școlar limbajul de programare C - Pagina 20
Bază de date a unui catalog școlar limbajul de programare C - Pagina 21
Bază de date a unui catalog școlar limbajul de programare C - Pagina 22
Bază de date a unui catalog școlar limbajul de programare C - Pagina 23
Bază de date a unui catalog școlar limbajul de programare C - Pagina 24
Bază de date a unui catalog școlar limbajul de programare C - Pagina 25
Bază de date a unui catalog școlar limbajul de programare C - Pagina 26
Bază de date a unui catalog școlar limbajul de programare C - Pagina 27
Bază de date a unui catalog școlar limbajul de programare C - Pagina 28
Bază de date a unui catalog școlar limbajul de programare C - Pagina 29
Bază de date a unui catalog școlar limbajul de programare C - Pagina 30
Bază de date a unui catalog școlar limbajul de programare C - Pagina 31
Bază de date a unui catalog școlar limbajul de programare C - Pagina 32
Bază de date a unui catalog școlar limbajul de programare C - Pagina 33
Bază de date a unui catalog școlar 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...

Bibliotecă

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

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

Tehnici de programare - evidența jucătorilor 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...

Evidența Ceasurilor dintr-un Magazin

TEMA PROIECTULUI Evidenţa ceasurilor dintr-un magazin Intr-un magazin trebuie ţinuta evidenţa ceasurilor cu ajutorul unui program care foloseşte...

Pagină Web

2. Introducere 2.1. Scurtă prezentare a limbajului HTML Strict vorbind WWW - ul este un sistem pentru accesul la hypertext pe Internet. Este...

Evidența unui catalog

BAZE DE DATE Activitatile profesionale legate de calculatoare au cunoscut o dezvoltare remarcabila in ultimii 10-15 ani, in tarile in care...

Ai nevoie de altceva?