Documente Academic
Documente Profesional
Documente Cultură
Moldova
Universitatea Tehnic a Moldovei
Facultatea de Radioelectronic i Telecomunicaii
Dare de seam
La disciplina: Programare
Lucrare de laborator nr.8
Tema: Structuri n C++
A elaborat
Studentul gr.SER-101
Cernogal Laurentiu
A verificat:
Pocotilenco V.
Chiinu2011
2.Condiia problemei:
1)De alctuti un articol cu n nscrieri, care conine informaia despre studentii unei facultati.
a)De realizat cautarea studentilor dupa denumirea grupei.
b)De aranjat nscrierile n ordine inversa.
Cimpuri necesare:
Familia studentului, Grupa academica, Catedra.
3.Schema logic a algoritmului (a)-cautarea dupa grupa academica (b)-aranjarea in ordine
inversa.
Mod Coala
.
Elaborat
Verificat
docum.
Semnat Data
Cernogal L.
Pocotilenco V.
Coala
2
Structuri in C++
Coli
12
4.Textul programului:
#include<stdio.h>
#include<conio.h>
#include<string.h>
#include<iostream.h>
struct restaurant{char nume[20]; int pret;};
void main()
{struct restaurant a[50],aux,q; char a1[20],a2[20],a3[20];int i,j,r,n,k;
FILE *f1;
//Afisarea meniului
m0:clrscr();
printf("\n\n\t***Meniu***\n\n");
printf("1. Completarea bazei de date\n");
printf("2. Citirea bazei de date din fisier\n");
printf("3. Introducerea unei noi inscrieri\n");
printf("4. Aflarea preturilor a trei bucate alese de client\n");
printf("5. Aranjarea inscrierilor in ordine descrescatoare dupa pretul bucatelor\n");
printf("6. Iesire");
printf("\n\n");
scanf("%d",&r);
switch(r)
{ case 1: goto m1;
case 2: goto m2;
case 3: goto m3
Mod Coal
a
document
Semnat Data
Coal
a
Mod Coal
a
document
Semnat Data
Coal
a
fclose(f1);
printf("\nInscrierea a fost adaugata la sfirsitul fisierului\n");
printf("\nPentru iesire in meniu culegeti ENTER\n");
getch(); goto m0; }
Mod Coal
a
document
Semnat Data
Coal
a
goto r;}
if(i==3)
{gets(a3);
for(j=1;j<=n;j++)
if(strcmp(a3,a[j].nume)==0)
goto r;}
Mod Coal
a
document
Semnat Data
Coal
a
r:{printf("\n\n\t***Rezultatul cautarii***\n\n");
printf("\t------------------------------------\n");
printf("\t|Denumirea bucatei | Pretul bucatei|\n");
printf("\t|------------------|---------------|\n");
k=0;
{printf("\t|%17s | %14d|\n",a[j].nume,a[j].pret);
printf("\t|------------------|---------------|\n");k++;}}}
if(k==0) printf("\nBucatele introduse nu sunt in meniul restaurantului\n");
printf("\nPentru iesire in meniu culegeti ENTER\n");
getch(); goto m0;
//Aranjarea inscrierilor
m5:clrscr();
f1=fopen("baza.txt","r"); i=1;
while (fread(&a[i],sizeof(a[i]),1,f1)==1) i++;
n=i; fclose(f1);
for(i=1;i<=n;i++)
for(j=i;j<=n;j++)
if(a[i].pret<a[j].pret)
{q=a[i];a[i]=a[j];a[j]=q;}
printf("\n\n\t***Baza aranjata este***\n\n");
printf("\t------------------------------------\n");
document
Semnat Data
Coal
a
//Iesire
m6:clrscr();
printf("\nPentru iesire culegeti orice tasta..."); getch();}
5.Descrierea programului:
Primele 6 rnduri nu snt instruciuni ale limbajului C. Simbolul # indic c aceste snt
directive ale procesorului. Procesorul execut prelucrarea prealabil a textului programului
nainte de compilare. n cazul dat aceste directive ne dau de neles c n fiierul ce se
compileaz trebuie introdus informaia din fiierele sistemului Turbo C conio.h, stdio.h,
iostream.h ,math.h, string.h si #include<stdlib.h>. Rndul void main() definete titlul
funciei principale cu numele main(). Pina la functia principala are loc declararea si
descrierea corpurilor functiilor secundare. Perechea de accolade {} mrginete o secven
de instruciuni care se precaut ca un tot ntreg. Urmtorul rnd conine descrierea
vareabilelor folosite n funcia principal main(). In urmatoarele rinduri se prelucreaza
2
masivele si se afiseaza rezultatele. Functia getch() opreste executarea programului pina la
apasarea tastei necesare din meniu. De asemenea in aceste programe se utilizeaza
generatorul de numere randomize(); In program are loc cautarea unei persoane dupa
numarul de telefon si aranjarea in ordine descrescatoare dupa numarul de telefon. Semnele
dublu slash// indica inceperea unui comentariu intr-o linie. Operatorii if, for se utilizeaza
la introducerea datelor masivelor, calcularea cit si afisarea lor.
Mod Coal
a
document
Semnat Data
Coal
a
6.Rezultatele:
Mod Coal
a
document
Semnat Data
Coal
a
.Concluzii:
Elaborind aceasta lucrare de laborator m-am familiarizat cu metodele teoretice si practice de
programare a fisierilor. Am observat ca Fisierile se fplosesc pentru a pastra informatia cu scopul
folosirii ulterioare. Folosirea fisierilor permite pastrarea informatiei de orice natura pentru un timp
indelungat, transferarea datelor de pe un purtator informational pe altul si multe altele.
Mod Coal
a
document
Semnat Data
Coal
a
10