Referat Programare 2

Mai jos puteti citi fragmente din Referat Programare 2 si de asemenea puteti face Download Referat Programare 2

Citeste fragmente din Referat Programare 2

Cuprins: Intoducere -------------------------------------------------------------------3 Sarcină ------------------------------------------------------------------------ - Schemă logică a programului (schema-bloc)---------------------------4 Listing-ul programului----------------------------------------------------21 Descrierea programului---------------------------------------------------27 Rezultatele obţinute-------------------------------------------------------33 Concluzii--------------------------------------------------------------- ----34 Lista literaturii utilizate--------------------------------------------------35 I. INTRODUCERE ţie universală. El este utilizat în rezolvarea problemelor ştiinţifice şi tehnico-inginereşti, în prelucrări de date, precum şi în scrierea programelor de sistem. El a aparut în anul 1972. Autorul principal al limbajului este Dennis Ritchie de la firma BELL LABORATORIES. Limbajul C a apărut în legătura cu implementarea sistemului de operare UNIX pe minicalculatoarele firmei DEC, seria PDP-11. Sistemul de operare UNIX, compilatorul C şi în esenţă toate aplicaţiile sub sistemul UNIX sunt scrise în C într-o proporţie mare. Astfel, din cele 13000 linii sursă ale sistemului de operare UNIX, numai 800 linii sunt scrise în limbaj de asamblare, restul fiind scrise în C. De asemenea, însăşi compilatorul C este scris în C în proporţie de 80%. În felul acesta limbajul C asigură o portabilitate bună pentru programele scrise în el. Noţiunea de portabilitate nu este încă definită riguros. În mod intuitiv, spunem că un program este portabil daca el poate fi transferat uşor de la un tip de calculator la altul. Portabilitatea mare a programelor scrise în C a condus la o raspândire mare a limbajului C şi a sistemului de operare UNIX. În prezent limbajul C este implementat şi sub alte sisteme de operare. Practic el este disponibil pe toate calculatoarele, începând cu microcalculatoarele personale şi terminând cu supercalculatoarele. Pe calculatoarele de tip IBM PC este implementată o variantă a limbajului C numită TURBO C. Această variantă dispune de un mediu de programare menit să ajute utilizatorul în scrierea şi punerea la punct a programelor. De asemenea, pe acelasi tip de calculatoare este implementată varianta quickC, care dispune şi ea de un mediu de programare dezvoltat. Limbajul C conţine structurile proprii programării structurate. Succesul ei s-a dovedit din plin odată cu apariţia limbajului Pascal. De asemenea, limbajul C dispune şi de facilităţi oferite de limbajele de asamblare, cum sunt lucrul pe biţi şi utilizarea adreselor. El este considerat ca fiind un intermediar între limbajele de nivel înalt şi cele de asamblare. Compilatorul C oferă programatorului o flexibilitate mai mare în scrierea programelor decât alte limbaje de programare. El realizează un număr mai redus de controale la compilarea textului sursă. Din această cauză programarea în limbajul C este mai expusă la erori decât programarea în alte limbaje, cum ar fi de exemplu, limbajul Pascal. III. SCHEMA-BLOC 1.Programul principal: 4.ÎNSCRIEREA BAZEI ÎN FIŞIER 5.CITIREA BAZEI DIN FIŞIER 6.AFIŞAREA BAZEI LA MONITOR 8.CĂUTĂRILE DUPĂ NUME,NUMĂRUL PAŞAPORTULUI ŞI ANUL NAŞTERII: 9.ARANJAREA ÎN ORDINEA ALFABETICĂ IV. LISTING-UL PROGRAMULUI: #include #include #include #include #include //variabile globale int z=0,zz=0; int n,i; char w,v,c; char baza[20]="c:/baza.txt",bazanouă[20]="c:/bazanouă.txt"; float t;//an căutat struct pas { char nume[15],pr[22]; float nr,an; }adi; struct pas x[50]; //afişarea condiţiilor iniţiale void conditii (void) { clrscr(); gotoxy(20,2);textcolor(11); cprintf("Lucrare de curs la disciplina programare"); gotoxy(29,4);textcolor(15); cprintf("Condiţiile problemei:"); gotoxy(10,5);textcolor(11); cprintf("De alcătuit o baza de date cu N înscrieri care ar conţine informaţia"); gotoxy(10,6); cprintf("despre paşapoartele unui grup de persoane."); gotoxy(5,7); cprintf("Sa fie posibilitatea de a cauta orice persoana dupa:"); gotoxy(5,8); cprintf(" numarul paşaportului,numele persoanei şi anul de naştere "); gotoxy(5,10); cprintf("b)De aranjat înscrierile în ordine alfabetică după familii."); gotoxy(5,wherey()+2); printf("ЙННННННННННННННННННННННННЛНННННН ННННННННННННННННЛННННННННННННННННННН Н»");gotoxy(5,wherey()+1); printf("є Numele persoanei є Numărul paşaportului є Anul naşterii є");gotoxy(5,wherey()+1); printf("МННННННННННННННННННННННННОНННННН ННННННННННННННННОННННННННННННННННННН Н№");gotoxy(5,wherey()+1); printf("є є є є");gotoxy(5,wherey()+1); printf("є є є є");gotoxy(5,wherey()+1); printf("є є є є");gotoxy(5,wherey()+1); printf("є є є є");gotoxy(5,wherey()+1); printf("є є є є");gotoxy(5,wherey()+1); printf("ИННННННННННННННННННННННННКНННННН ННННННННННННННННКННННННННННННННННННН Нј"); textcolor(15);gotoxy(5,wherey()+2); cprintf("Pentru iesire în meniu culegeţi "); getch(); } //completarea bazei de date int completare(void) { int i,k; float a,b;zz=1; clrscr(); gotoxy(15,2); printf("Culegeti cantitatea de înscrieri in bază "); scanf("%d",&k); for(i=0;i"); getch(); return(k); } //________________înscrierea bazei in fisier void scrie_fisier(int k, char numef[20]) { FILE *f; int i; if((f=fopen(numef,"w"))==NULL) { clrscr();gotoxy(15,2);textcolor(15); cprintf("Fisierul nu poate fi deschis"); goto exit;} for(i=0;i"); getch(); } //___________________citirea bazei din fisier int citire_fisier(char numef[20]) { FILE *f; int i; clrscr(); if((f=fopen(numef,"r"))==NULL) { clrscr();gotoxy(15,2);textcolor(15); cprintf("Fisierul nu poate fi deschis"); z=1; goto exit;} i=0; z=0; while( fread(&x[i],sizeof(x[i]),1,f)==1 ) i++; fclose(f); exit: return(i);} //________________________afişarea bazei la monitor void afisare (int k, char numef[20]) { int i; if (z==1) {clrscr(); gotoxy(5,2); textcolor(15); cprintf ("Baza de date n-a fost citita din fisier"); goto exit;} else { clrscr(); gotoxy(5,2); textcolor(15); cprintf("Baza de date citita din fisierul %s este:",numef); gotoxy(5,wherey()+2); textcolor(15); printf("ЙННННННННННННННННННННННННЛНННННН ННННННННННННННННЛННННННННННННННННННН Н»");gotoxy(5,wherey()+1); printf("є Numele persoanei є Num†rul pa$aportului є Anul na$terii є");gotoxy(5,wherey()+1); printf("МННННННННННННННННННННННННОНННННН ННННННННННННННННОННННННННННННННННННН Н№");gotoxy(5,wherey()+1); for(i=0;i"); getch();} //_______________________adăugare______________________ void add (char numef[20]) { struct pas s; float a,b; FILE *f; int i; char q; if((f=fopen(numef,"a"))==NULL) { clrscr();gotoxy(5,2);textcolor(15); cprintf("Fisierul nu poate fi deschis"); goto exit;} ad: clrscr();gotoxy(5,wherey()+2);textcolor(15); cprintf("Doriti sa ad†ugati inca o inscriere in baza de date? y/n "); q=getch(); if ((q== y )||(q== Y )) { gotoxy(10,wherey()+2); textcolor(15); cprintf("Indicati familia persoanei "); scanf("%s",s.nume); gotoxy(10,wherey()+1); cprintf("Indicati prenumele "); scanf("%s",s.pr); gotoxy(10,wherey()+1); cprintf("Indicati nr. pasaportului ");scanf("%f",&a); s.nr=a; gotoxy(10,wherey()+1); cprintf("Indicati anul na$terii ");scanf("%f",&b); s.an=b; f=fopen(numef,"a"); fwrite(&s,sizeof(s),1,f); fclose(f); goto ad;} exit: gotoxy(5,wherey()+2); textcolor(15); cprintf("Pentru iesire in meniu culegeti "); getch(); } //______ cautare dupa nume, numarul pasaportului $i anul void cautare(int k,char caut[22]) { int i,g; char Z[22],B[22];float R, Npc; if (z==1) {clrscr(); gotoxy(5,2); textcolor(15); cprintf ("Baza de date n-a fost citita din fisier"); goto exit; } else { clrscr(); gotoxy(5,2); textcolor(15); if (strcmp(caut,"nume")==0) {g=1; cprintf("Culege familia persoanei "); scanf("%s",Z);} if (strcmp(caut,"pa$aport")==0) {g=2; cprintf("Culege num†rul pa$aportului c†utat"); scanf("%f",&Npc);} if (strcmp(caut,"an")==0) {g=3; cprintf("Culege anul c†utat "); scanf("%f",&t); } } gotoxy(5,wherey()+1); textcolor(15); cprintf("Rezultatul cautarii dupa %s este:",caut);gotoxy(5,wherey()+1); printf("ЙННННННННННННННННННННННННЛНННННН ННННННННННННННННЛННННННННННННННННННН Н»");gotoxy(5,wherey()+1); printf("є Numele - prenumele є Num†rul pa$aportului є Anul na$terii є");gotoxy(5,wherey()+1); printf("МННННННННННННННННННННННННОНННННН ННННННННННННННННОННННННННННННННННННН Н№");gotoxy(5,wherey()+1); for(i=0;i"); getch(); } //____________________ aranjare in ordine alfabetică void aranjare (int k) { int i,j; for (i=0;i0) { strcpy(adi.nume,x[i].nume); strcpy(x[i].nume,x[j].nume); strcpy(x[j].nume,adi.nume); } } } clrscr(); gotoxy(5,2);textcolor(15); cprintf("Baza de date a fost citita din fisierul c:\baza.txt");gotoxy(5,3); cprintf("Înscrierile au fost aranjate in ordine alfabetică după famile"); gotoxy(5,5); cprintf("Pentru a vedea rezultatul accesaţi punctul 9 din meniu"); gotoxy(5,6); cprintf("Pentru iesire in meniu culegeti "); getch(); } //$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$ void main(void) { meniu: clrscr(); textcolor(15); gotoxy(15,2); cprintf("Alege din meniu:"); gotoxy(5,wherey()+2); cprintf("1: Afisarea conditiilor initiale"); gotoxy(5,wherey()+1); cprintf("2: Completarea bazei de date"); gotoxy(5,wherey()+1); cprintf(" si inscrierea ei in fisierul TC\BIN\baza.txt"); gotoxy(5,wherey()+1); cprintf("3: Citirea bazei de date din fisierul TC\BIN\baza.txt"); gotoxy(5,wherey()+1); cprintf(" si afisarea ei la monitor"); gotoxy(5,wherey()+1); cprintf("4: Ad†ugarea unei inscrieri in baza de date"); gotoxy(5,wherey()+1); ăutarea după numărul paşaportului"); gotoxy(5,wherey()+1); cprintf("6: Cautarea după numele persoanei"); gotoxy(5,wherey()+1); cprintf("7: Cautarea după anul de naştere a persoanei"); gotoxy(5,wherey()+1); cprintf("8: Aranjarea înscrierilor in ordine alfabetică după familii"); gotoxy(5,wherey()+1); cprintf(" Şi înscrierea bazei de date in fişierul TC\BIN\bazanoua.txt"); gotoxy(5,wherey()+1); cprintf("9: Afişarea bazei de date finale la monitor"); gotoxy(5,wherey()+1); cprintf("0: Ieşire"); w=getch(); switch (w) { case 1 : {conditii(); goto meniu;} case 2 : { if(zz==1) {clrscr();printf("Doriţi sa reintroduceti ?!!?!!?!!??!!?? y/n"); c=getch(); if ((c== n )||(c== N )) goto out; } n=completare(); scrie_fisier(n,baza);out: goto meniu;} case 3 : {n=citire_fisier(baza); afisare(n,baza); goto meniu;} case 4 : {add(baza); goto meniu;} case 5 : {n=citire_fisier(baza); cautare(n,"nume"); goto meniu;} case 6 : {n=citire_fisier(baza); cautare(n,"paşaport"); goto meniu;} case 7 : {n=citire_fisier(baza); cautare(n,"an"); goto meniu;} case 8 : { n=citire_fisier(baza);aranjare(n); scrie_fisier(n,bazanoua); goto meniu;} case 9 : {n=citire_fisier(bazanoua); afisare(n,bazanoua); goto meniu;} case 0 : goto m0; default : goto meniu;} m0: clrscr(); gotoxy(15,2); textcolor(15); cprintf("Doriti iesirea din program ?!! y/n"); v=getch(); if ((v== n )||(v== N )) goto meniu; gotoxy(15,4); textcolor(15); cprintf("Tastati "); getch(); } V. Descrierea programului Programul dat constă în prelucrarea unei baze de date. Pentru comoditate s-a creat un meniu operativ cu ajutorul căruia se poate trece din orice etapă în alta, astfel uşurând procesul de lucru a utilizatorului. Ca şi oricare alt program în acest limbaj,mai întîi de toate este nevoie de a in-clude bibliotecile necesare pentru funcţiile care vor fi folosite : 1. Biblioteca funcţiilor de prelucrarea a informaţiei de intare_ieşire (getch(),gotoxy(),textcolor(),clrscr()) 2. Bibilioteca funcţiilor de intrare_ieşire standard (printf();scanf();fopen()ş.a.) 3. Bibioteca funcţiilor utilare (randomize();) După declararea bibiotecilor s-au declarat variabile ce vor fi folosite pe parcursul programului.Variabilele reprezintă spaţii în memoria calculatorului avînd acelaşi rol în timp.Limbajul C++ recunoaşte 5 tipuri de variabile: Caracter: char (rang -127 ..+128) Întreg : int (rang -32768..+32767) Tip de variabilă neprecizat sau inexistent:void Real în virgulă mobilă în simplă precizie:float (10’-37..10’+37) Real în virgulă mobilă în dublă precizie:double(10’-308..10’+308) Modul de memorare a acestor tipuri de date depinde de tipul calculatorului şi de varianta limbajului C++. Moduri de implementare: Signed(cu semn) Unsigned(fără semn) Long(lung) Short(scurt) S-au folosit variabile globale deoarece ele sunt recunoscute pe parcursul întegului program. Orice program în C se compilează de la funcţia principală main() . 2 4 6 8 J 4 6 8 Ô Ö Ø J N ` ” Ò Ô Ö Ø ê " . / 8 9 : ; +Ø - . 摧䜫-᠀. / h7 ਀&䘋 h7 h7 h7 h7 h7 h7 1ci când se lansează în execuţie programul.Parametrul void înaitea funcţiei arată că fun-cţia nu întoarce valori, void între paranteze arată că funcţia nu foloseşte parameti. Întregul program e construit pe subprograme (funcţii) fiecare avînd numele său şi rol în program. Prima funcţie ce se excută după lansarea programului este menu() care duce apel la desenarea meniului.Această funcţie curăţă ecranul (cu clrscr();) apoi atribuie o cu-loare (15 albă) textului care va apărea pe ecran(textcolor(15);),după aceasta cu aju-torul funcţiei de poziţionare a cursorului (gotoxy();) aşează acesta pe poziţia (15.2) Urmează funcţia de afişare a informaţiei cu fomat şi culoare cprintf() Prototipul funcţiei: int cprintf( const char *format ,argument,...); Descrierea funcţiilor În programul dat se conţin diferite funcţii destinate prelucrării şirurilor de ca-ractere. Aceste funcţii sunt standarte, adică declarate cu prototip într-o bibliotecă spe-cială. Toate funcţiile sunt declarate în biblioteca: . În timpul rezolvării acestei lucrări ne-am întâlnit cu situaţii când era necesară prelucrarea şi păstrarea unei informaţii mai complexe care conţinea date de diferite ti-puri. Gruparea acestor date într-o variabilă complexă a fost posibilă datorită tipului de date Structură. De asemenea trebuie de menţionat faptul că un rol important în această lucrare au avut-o funcţiile şi fişierele în C. Funcţiile le-am folosit în scopul evidenţierii unor sarcini concrete şi încapsularea lor în module aparte, pentru a preveni probabilitatea de apariţie a erorilor atât logice cât şi sintactice. Deci acum voi încerca pe scurt să descriu programul pe care l-am realizat: AFISAREA_CONDIŢIILOR INIŢIALE. Mai întâi am creat un meniu cu ajutorul instrucţiunii Goto: Sintaxa: goto eticheta; unde eticheta este un identificator C ataşat unei instrucţiuni. O etichetă constă dintr-un nume şi două puncte. Instrucţiunea de salt necondiţionat transmite controlul execuţiei programului la instrucţiunea marcată cu eticheta (în cazul meu eticheta este: meniu). În continuare cu ajutorul funcţiei de intrare în C : getch() Sintaxa:var=getch() – unde var este numele variabilei căreia îi va fi atribuit caracterul cules de la tastatură (în cazul meu var este caracterul W). Ca să putem verifica condiţiile din meniu am folosit instrucţiunea de selectare Switch: Sintaxa: switch(expresie) {case expresie const1: instructiunea 1;break; ... case expresie constN:instructiunea N;brak; default:instructiune; } Atunci când un program întâlneşte o instrucţiune switch, testează condiţia asociată (expresie). Pe baza valorii întregi a acesteia, el va transfera execuţia către blocul case, etichetat cu acea expresie const corespunzătoare. În cazul când nici o expresie const nu este egală cu expresia după switch, se îndeplineşte instrucţiunea din ramura default. În continuare utilizatorului i se propune să aleagă orice punct din meniu. Când alegem punctul “1” atunci are loc aplul la funcţia: Condiţii, deci de aici se începe lucrul cu funcţiile: Sintaxa : tip_f nume_-f (lista parametri) { declararea variabilei; operatori;} unde: tip-f - tipul funcţiei numit tipul valorii returnate ; nume-f – numele funcţiei; lista parametri – conţine tipul şi numele fiecărui parametru, în cazul nostru când compilatorul va întâlni funcţia “condiţii” în acel moment el verifică dacă corespund tipul valorii returnate, cantitatea şi poziţia parametrilor funcţiei. După aceea cu ajutorul instrucţiunii Goto ieşim iarăşi în meniu. a) COMPLETAREA BAZEI DE DATE: Dacă utilizatorul testează tasta “2” atunci are loc apelul la funcţia cu tip “Com-pletare”: Sintaxa: tip_f nume_f(Lista_parametri); Unde tip_f – tipul funcţiei şi tipul valorii returnate ; Nume_f – numele funcţiei. Funcţiile în C++ întorc valori cu ajutorul operatorului Return, lipsa acestui operator în cadrul funcţiei cu tip duce la eroare. Aici cu ajutorul lui Return, se face atribuirea valorii din variabila locală funcţiei ”completare” K în valiabila N din funcţia main. 2. b)ÎNSCRIEREA EI ÎN FIŞIERUL BAZA.TXT: Tot în acest punct se cere şi înscrierea bazei de date în fişierul baza.txt. În continuare se face apel tot la o funcţie „scrie_fişier” care conţine parametri, dar nu întoarce valori. Sintaxa: tip-f nume-P ; Unde tip-p – tipul parametrului; Nume-P – numele parametrului. Dacă funcţia conţine câţiva parametri ei vor fi descrişi împreună între „()” şi vor fi despărţiţi prin „,”. Parametru - informaţia iniţială transmisă din program în funcţie la momentul apelului acestuia. În cazul nostru urmează instrucţiunea de apel la funcţie, în acest caz se efectuiază controlul corespunderii parametrilor actuali şi parametrilor formali după cantitate, poziţie şi tip. Parametru actual - variabila transmisă în funcţie în tipul apelării acesteia (în cazul nostru sunt: n şi baza) . Parametru formal - variabila descrisă ca parametru în timpul declarării funcţiei şi folosite în corpul funcţiei la calculele necesare (în cazul nostru sunt: K şi numef). În continuare pentru a înscrie baza în fişier trebuie să o facem cu ajutorul indicatorilor la fişier: Declararea: FILE *f ; Unde FILE – cuvântul cheie rezervat pentru fişier; f – numele indicatorului la fişier. Mai întâi de toate trebuie să deschidem fişierul, aceasta se face cu ajutorul funcţiei fopen: Sintaxa: f=fopen(„nume-f”, „mod”); Unde f – numele indicatorului la fişier; Nume-f – numele fişierului pe disc; Mod- modul de deschidere a fişierului. Deoarece din cele trei modalităţi de acces de deschidere a fişierului am ales cea de a înscrie , atunci scriem în lo de „mod” – „w”. În caz că fişierul nu există se va returna valoare NULL. Pentru a scrie date într-un fişier deschis vom utiliza funcţia fwrite, care are următorul prototip în biblioteca stdio.h: Sintaxa: fwrite(&Nume, sizeof (structNume),1,pPointerFişier). După ce va fi baza înscrisă fişierul trebuie închis, aceasta se face cu ajutorul funcţiei flose: Sintaxa: fclose(f) Unde f- numele indicatorului la fişier a) CITIREA BAZEI DE DATE DIN FIŞIERUL BAZA.TXT: În continuare dacă utilizatorul testează „3”, programul apelează la o funcţie cu tip „citire-fişier”. De asemenea se deschide întâi fişierul, iar pentru a fi posibilă citirea folosim funcţia fread : Sintaxa: fread(&Nume, sizeof struct(Nume), 1,pPointerFişier) Se foloseşte operatorul sizeof deoarece acesta asigură că este citit numărul corect de octeţi. Aici am mai folosit instrucţiunea ciclică While , care se foloseşte în cazul când nu-i cunoscut numărul de repetări şi este necesar ca ciclul să fie îndeplinit de 0 sau mai multe ori. Sintaxa:While(expresie) instrucţiune; Modul de lucru: la început este controlată expresia dacă este diferită de 0 sau TRUE apoi se îndeplineşte instrucţiunea şi continuă până când expresia este egală cu 0. b) AFIŞAREA EI LA MONITOR: Aici am folosit fmod(x,y) - care întoarce restul de la împărţire a două numere. În cazul nostru vede dacă este par sau nu numărul. În rest am folosit aceleaşi funcţii care au fost descrise mai sus. ADĂUGAREA UNEI ÎNSCRIERI_ După executarea cifrei „4” din meniu programul apelează la funcţia cu parametri „void add” , care permite adăugarea unei noi înscrieri. Aici am recurs la structura pas: Sintaxa: Struct pas { Tip1 nume1; Tip 2 nume2; ... .... ..... .... ... Tip N numeN; } Unde pas – tip înregistrare; NumeN – câmpul structurii. În cazul nostru adi este variabilă de tip structură. 5.6.7. CĂUTĂRILE DUPĂ: numărul paşaportului, numele persoanei şi anul de naştere: În toate aceste puncte am folosit aceleaşi funcţii pe care le-am descris mai sus. 8.ARANJAREA ÎNSCRIERILOR ÎN ORDINE ALFABETICĂ: Pentru aranjarea înscrierilor am folosit instrucţiunea ciclică FOR: Caracteristici: Numărul de repetări sunt cunoscute de la începutul lui; Conducerea ciclului este efectuată de o variabilă de tip întreg numită parametrul ciclului, care în acest proces primeşte valori consecutive de la valoarea iniţială la valoarea finală. Sintaxa: Expr 1 – de iniţializare a parametrului; Expr 2 – de control; Expr 3 – de incrementare sau de corecţie. Se continuă până expr 2 devine 0 sau Falsă. 9. AFIŞAREA BAZEI DE DATE FINALE LA MONITOR: În acest punct se foloseşte funcţia 3, numai că are loc citirea şi afişarea bazei din fişierul bazanouă.txt. IEŞIRE: Pentru a putea ieşi din program, utilizatorul trebuie să tasteze tasta Enter. DESCRIEREA BIBILIOTECILOR: stdio.h printf (control, par1, par2, ..., parn ) - funcţia pentru a realiza ieşiri cu format control - parametrul ce conţine: - texte de scris; - specificatori de format pentru datele care se scriu par n - Sunt expresii. Valorile lor se scriu conform specificatorilor de format prezent în parametrul de control fprintf (fis, control, par1, par2, ..., par n) - funcţia pentru scriere cu format într-un fişier scanf (control, par1, par2, ..., par n) - funcţia pentru citirea datelor sub controlul cu format fis= fopen (nf , mod) - funcţia pentru deschiderea unui fişier fis - un pointer spre tipul FILE nf - specificatorul fişierului care se deschide mod - un sir de caractere care defineşte modul în care se deschide fişierul fclose (FILE *fis ) - funcţia pentru închiderea fişierului conio.h getch ( ) - funcţia pentru citirea unui caracter fară al afişa la ecran cprintf (control, par1, par2, ..., par n ) - funcţia pentru scriere color cu format gotoxy (int coloana, int linie) - funcţia pentru poziţionarea cursorului la coordonatele indicate coloana - coordonata x a ecranului linie - coordonata y a ecranului clrscr ( ) - funcţia penru ştergerea ecranului textcolor (int culoarea) - funcţia pentru setarea culorii caracterului culoarea - valoare cuprinsă intre [0,15] textbackground (int culoarea) - funcţia pentru setarea culorii fondului string.h char *strcpy(char *dest, const char *sursa) - funcţia pentru copierea şirului sursa în şirul dest. VI. REZULTATELE OBŢINUTE Arbuz – Vasile !!!!! 2364532 !!!!! 1978 !!!!! Cojoc – Irina !!!!! 6486753 !!!!! 1799 !!!!! Rotaru – Vitalie !!!!! 1758034 !!!!! 1980 !!!!! Tiron – Alexandru !!!!! 1979432 !!!!! 1958 !!!!! Untilă – Svetlana !!!!! 5307054 !!!!! 1999 !!!!! Voloc – Sergiu !!!!! 4043005 !!!!! 1982 !!!!! Zubcu – Cornel !!!!! 0364786 !!!!! 2000 !!!!! VII. Concluzii În fine menţionăm că caracteristicile distinctive ale limbajului “C”sunt: Portabilitatea maximă Strucrurarea Posibilitatea efectuării operaţiilor la nivelul maşinii, cu păstrarea trăsăturilor unui limbaj evoluat În urma efectuării acestei lucrări am căpătat experienţa de a percepe lucrul cu baza de date în “C” . De asemenea am depistat modul de lucru cu diferite funcţii ale programului şi ne-am convins că acest limbaj are a mare eficacitate de programare. Mi-a plăcut modalitatea de aranjare a bazei de date la monitor şi faptul că aici poţi să aranjezi totul după placul tău. Bibliografie: Catrina Octavian “Turbo C++” Bucureşti 1994 Constantin A. Sevici “Programarea în C” Bucureşti 1995 Clint Hicks - “Utilizarea C”, Teora , Bucureşti 1995 PAGE PAGE 35 m START 1 쥁`