0% au considerat acest document util (0 voturi)
42 vizualizări6 pagini

Lab1 POO

Documentul prezintă un raport pentru lucrarea de laborator nr. 1 la disciplina Programarea Orientată pe Obiecte. Scopul lucrării este de a studia abstractizarea datelor prin utilizarea structurilor. Sunt prezentate două programe C++ care utilizează structuri pentru a reprezenta produse software și vectori.

Încărcat de

vlad
Drepturi de autor
© All Rights Reserved
Respectăm cu strictețe drepturile privind conținutul. Dacă suspectați că acesta este conținutul dumneavoastră, reclamați-l aici.
Formate disponibile
Descărcați ca DOCX, PDF, TXT sau citiți online pe Scribd
0% au considerat acest document util (0 voturi)
42 vizualizări6 pagini

Lab1 POO

Documentul prezintă un raport pentru lucrarea de laborator nr. 1 la disciplina Programarea Orientată pe Obiecte. Scopul lucrării este de a studia abstractizarea datelor prin utilizarea structurilor. Sunt prezentate două programe C++ care utilizează structuri pentru a reprezenta produse software și vectori.

Încărcat de

vlad
Drepturi de autor
© All Rights Reserved
Respectăm cu strictețe drepturile privind conținutul. Dacă suspectați că acesta este conținutul dumneavoastră, reclamați-l aici.
Formate disponibile
Descărcați ca DOCX, PDF, TXT sau citiți online pe Scribd

MINISTERUL EDUCAȚIEI ȘI CERCETĂRII

AL REPUBLICII MOLDOVA
Universitatea Tehnică a Moldovei
Facultatea Calculatoare, Informatică şi Microelectronică
Departamentul Informatică şi Ingineria Sistemelor

Raport
pentru lucrarea de laborator Nr.1
(V.10)
la disciplina “Programarea Orientată pe Obiecte”

Guțenco Vlad
Grupa IA-211

A verificat: Kulev Mihail


dr., conf. univ.

Chișinău – 2022
Tema: Structura – mecanism de abstractizare

Scopul lucrarii:
 Studierea programării prin abstractizarea datelor;
 Studierea regulilor de definire şi utilizare a structurilor de date;
 Crearea variabilelor de tip structură, accesarea componentelor unei structuri.
Sarcina:

a):Codul Programului:
#include <iostream>
#include <algorithm>
#include <cstring>

using namespace std;

struct prod_software{
   char *denumire;
   char *firma;
   int an_editare;
   float versiune;
};
void setValues(prod_software *str, char *denumire, char *firma, int an_editare, float
versiune){
    str->denumire = new char[strlen(denumire) +1];
    str->firma = new char[strlen(firma) +1];
    strcpy(str->firma,firma);
    strcpy(str->denumire,denumire);
    str->an_editare = an_editare;
    str->versiune = versiune;
}
void sortByName(prod_software *prod_software1, prod_software *prod_software2){
            if(prod_software1->firma[0] > prod_software2->firma[0]){
                prod_software *temp = prod_software1;
                prod_software1 = prod_software2;
                prod_software2 = temp;
    }
}

bool compare_products(prod_software prod_software1, prod_software prod_software2){


    if(prod_software1.an_editare < prod_software2.an_editare){
        return 1;
    }
    else if (prod_software1.an_editare == prod_software2.an_editare)
    {
        if(prod_software1.denumire < prod_software2.denumire) return 1;
        else return 0;
    }
    else return 0;
}
void free_memory(prod_software* sptr){
    if (sptr->firma) delete[] sptr->firma;
    sptr->firma = NULL;
    sptr->denumire = NULL;
}

int main(int argc, char *argv[]){


    prod_software prod_software1, prod_software2;
    setValues(&prod_software1, (char*)"Office",(char*) "Microsoft",2022, 10.1 );
    setValues(&prod_software2, (char*)"Photoshop", (char*)"Adobe",2021, 5.5 );
    prod_software prod_software[2];
    prod_software[0] = prod_software1;
    prod_software[1] = prod_software2;

    cout << "Produse Soft:\n";

    cout << "produs soft 1 : "<<"|An Editre: " << prod_software[0].an_editare << " |
Firma : " << prod_software[0].firma << " |Denumirea : " <<prod_software[0].denumire <<"
|Versiune : " <<prod_software[0].versiune << "\n";
    cout << "produs soft 2 : "<<"|An Editre: " << prod_software[1].an_editare << " |
Firma : " << prod_software[1].firma << " |Denumirea : " <<prod_software[1].denumire <<"
|Versiune : " <<prod_software[1].versiune << "\n";;
    sort(prod_software, prod_software + 2, compare_products);

    cout << "Produse Soft:\n";

    cout << "produs soft 1 : "<<"|An Editre : "  << prod_software[0].an_editare << " |
Firma : " << prod_software[0].firma << " |Denumirea : " <<prod_software[0].denumire <<"
|Versiune : " <<prod_software[0].versiune << "\n";
    cout << "produs soft 2 : "<<"|An Editre : "  << prod_software[1].an_editare << " |
Firma : " << prod_software[1].firma << " |Denumirea : " <<prod_software[1].denumire <<"
|Versiune : " <<prod_software[1].versiune << "\n";;
    free_memory(&prod_software1);
    free_memory(&prod_software2);
}
Raspunsul:

Codul programului b):


#include <iostream>
#include <cstring>
#include <algorithm>

using namespace std;

struct vector{
    long* item;
    double element;
};
void setare_valori(vector *sptr, long *item, double element){
    sptr->item = item;
    sptr->element = element;
}

void display_element(vector *sptr){


    for(int i = 0 ; i < sptr->element ; i ++){
        cout << sptr->item[i] << endl;
    }
}

void remove_vector(vector *sptr){


    delete sptr;
}

void changevectorSize(vector *sptr, double element){


    cin >> sptr->element;
}

void access_Elements(vector *sptr){


    int e;
    cout << "Introduceti indexul elementului care doriti sal afisati:" << endl;
    cin >> e;
    for(int i = 0; i < sptr->element ; i++){
        if(e == i){
            cout << "Elementul cu indexul [" << i << "] = " << sptr->item[i] << endl;
        }
    }
}
void sum_elem_pare(vector *sptr){
   
   int s = 0;
    for(int i = 0 ; i < sptr->element ; i++){
          if(sptr->item[i] % 2 == 0)
        s += sptr->item[i];
    }
       cout<<"Suma elementelor pare este :: " <<s;
}
void adunare_vect_nr(vector *sptr){
int N;
   cout<< "\nIntrodu un numar : ";
   cin>>N;
    for(int i = 0 ; i < sptr->element ; i++){
        N += sptr->item[i];
    }
       cout<<"adunarea unui vector cu un numar. :: " <<N;
}

int main()
{
    vector a;
   
    int element;
    cout << "Marimea Vectorului :: " << endl;
    cin >> element;
    long item[element];
   
    cout << "Introduceti elementele vectorului a:" << endl;
    for(int i = 0; i < element ; i++){
       cin >> item[i];
    }
    setare_valori(&a,item,element);
    cout << "Elementele vectorului introduse " << endl;
    display_element(&a);

    access_Elements(&a);  

    sum_elem_pare(&a);

    adunare_vect_nr(&a);

    remove_vector(&a);

}
Raspuns:

Concluzii:
În ruma elaborării laboratorului am făcut cunoștință cu limbajul de programare C++.
Am întâmpinat mai multe greșeli care au fost corectate pentru ca programul să ruleze cu succes.

Bibliografie:
1. Sarcina data: [Link]
[Link]
2. Programul pe else: [Link]
0/poo1_1.[Link]

S-ar putea să vă placă și