0% au considerat acest document util (0 voturi)
3 vizualizări23 pagini

#Include: Experimentul NR: 01

Acest document conține rezumate ale 6 experimente pe conceptele de programare orientată pe obiect în C++. Experimentele acoperă: 1) Găsirea celui mai mare dintre trei numere 2) Sortarea unui tablou în ordine crescătoare și descrescătoare 3) Utilizarea claselor pentru a afișa datele studenților, inclusiv numele, numărul de înscriere, notele și scorul total 4) Crearea unei clase pentru conturi bancare pentru a imprima detaliile contului, a depune, a retrage și a arăta soldul 5) Demonstrarea suprasarcinii funcțiilor pentru adunarea întregilor și a numerelor cu virgulă mobilă 6) Suprasarcina operatorului unar minus pentru o clasă de spațiu

Tradus de

ScribdTranslations
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 PDF, TXT sau citiți online pe Scribd
0% au considerat acest document util (0 voturi)
3 vizualizări23 pagini

#Include: Experimentul NR: 01

Acest document conține rezumate ale 6 experimente pe conceptele de programare orientată pe obiect în C++. Experimentele acoperă: 1) Găsirea celui mai mare dintre trei numere 2) Sortarea unui tablou în ordine crescătoare și descrescătoare 3) Utilizarea claselor pentru a afișa datele studenților, inclusiv numele, numărul de înscriere, notele și scorul total 4) Crearea unei clase pentru conturi bancare pentru a imprima detaliile contului, a depune, a retrage și a arăta soldul 5) Demonstrarea suprasarcinii funcțiilor pentru adunarea întregilor și a numerelor cu virgulă mobilă 6) Suprasarcina operatorului unar minus pentru o clasă de spațiu

Tradus de

ScribdTranslations
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 PDF, TXT sau citiți online pe Scribd

BCS306B Programare orientată pe obiect cu C++

EXPERIMENTUL NR : 01
Dezvoltați un program C++ pentru a găsi cel mai mare dintre trei numere.

#include<iostream>
folosind spaț iul de nume std;

int main()
{
int a,b,c;
introduceț i valorile pentru a, b, c:
cin>>a>>b>>c;
dacă(a>b&&a>c)
{
cout<<"a este mai mare"<<endl;

}
dacă(b>a&&b>c)
{
cout<<"b este mai mare"<<endl;

}
altfel
cout << "c este mai mare" << endl;

return 0;
}

OUTPUT:

Departamentul de Informatică ș i Inginerie


Pagina | 1
BCS306B Programare orientată pe obiect cu C++

EXPERIMENT NR: 02
Dezvoltă un program C++ pentru a sorta elementele în ordine crescătoare și descrescătoare.

#include<iostream>
utilizând spaț iul de nume std;

#define MAX 100


void sort(int arr[],int n)
{
int temp,i,j;
pentru(i=0;i<n;i++)
{
pentru(j=i+1;j<n;j++)
{
dacă(arr[i]<arr[j])
{
temp=arr[i];
arr[i]=arr[j];
arr[j]=temp;
}
}
}
Elementele tabloului sortate (ordine descrescătoare):
pentru(int i=0;i<n;i++)

cout<<arr[i]<<" ";
for(i=0;i<n;i++)
{
pentru(j=i+1;j<n;j++)
{
dacă(arr[i]>arr[j])
{
temp=arr[i];

Departamentul de Informatică ș i Inginerie


Pagina | 2
BCS306B Programare orientată pe obiect cu C++

arr[i]=arr[j];
arr[j]=temp;
}
}
}
Elementele array-ului sortate (în ordine crescătoare):
pentru(int i=0;i<n;i++)

cout<<arr[i]<<" ";
}
int main()
{
int n,i;
int arr[MAX];
cout<<"Introdu numărul total de elemente de citit:";
cin >> n;
cout<<"Introduceti elementele tabloului:"<<endl;

pentru(i=0;i<n;i++)
{
cin>>arr[i];
}
ordoneaza(arr,n);
întoarce 0;
}
OUTPUT:

Departamentul de Informatică ș i Inginerie


Pagina | 3
BCS306B Programare orientată pe obiect cu C++

EXPERIMENT NR : 03
Dezvoltă un program C++ folosind clase pentru a afișa numele studentului, numărul de înmatriculare, notele
obținut în două materii și scorul total al studentului.

#include<iostream>
folosind namespace std;

clasă student
{
char Rollno[10];
string Name;
int m1,m2;
public
void citeș te_date();

void afiseaza();
};
void student::citeste_date()
{
Introdu numărul de identificare al studentului:

cin >> Număr_rol;


Introdu numele studentului:
cin >> Nume;
introduceț i notele pentru două subiecte:
cin>>m1>>m2;
}
void student::afiseaza()
{
cout<<"Numărul de rol este: "<<Rollno<<endl;

cout<<"Numele este: "<<Numele<<endl;

cout << "marks1 este: " << m1 << endl;

cout<< "marks2 este: " << m2 << endl;

cout<< "nota totală este: " << m1 + m2 << endl;

Departamentul de Informatică ș i Inginerie


Pagina | 4
BCS306B Programare orientată pe obiect cu C++

}
int main()
{
studenti s[10];
int n,i;
cout << "introduceț i numărul de studenț i:";

cin >> n;
pentru(i=0;i<n;i++)
{
cout<<"introduce detaliile studentului:"<<i+1<<endl;
s[i].citeș te_date();
}
pentru(i=0;i<n;i++)
{
cout<<"-------------------------"<<endl;
cout<<"detalii despre student:"<<i+1<<endl;

cout<<"-------------------------"<<endl;
s[i].afiș ează();
}
return 0;
}

IEȘ IRE:

Departamentul de Informatică ș i Inginerie


Pagina | 5
BCS306B Programare orientată pe obiect cu C++

EXPERIMENT NR: 04
Dezvoltați un program C++ pentru un angajat al băncii pentru a imprima numele angajatului, numărul de cont.
[Link]ți un echilibru invalid dacă suma <500, Afișați același lucru, afișați și echilibrul după
Retragere și depunere.

#include <iostream>
folosind spaț iul de nume std;

clasă Bancă
{
int numar_cont;

ș ir nume;
dublu sold;
public:Bank(int,string,double);
void depune();
void retrage() ;
void Afiș eazăCont();
};
Bank::Bank(int accno,string Ename,double bal)
{
acc_no=accno;
name=Ename;
balance=bal;
}
void Bank::depozitează()

{
int DAmount;
Introduceti suma de depozit:
cin >> DAmount;
balance+=DAmount;
Depozitul a fost realizat cu succes. Soldul curent:
}

Departamentul de Informatică ș i Inginerie


Pagina | 6
BCS306B Programare orientată pe obiect cu C++

void Bank::retrage()
{
int WAmount;
Introduceț i suma de retras:
cin>>WAmount;
dacă(WAmount<=sold)
{
balance-=WAmount;
cout<<"Retragere reuș ită. Soldul curent:":"<<balance<<endl;
}
altceva
{
sold insuficient. nu se poate retrage.
}
}
void Bank::AfiseazaCont()
{
Detaliile contului:
cout<<"-------------------"<<endl;
cout<<"Numărul contului:"<<acc_no<<endl;
cout<<"Nume:"<<nume<<endl;
cout<<"Sold:"<<sold<<endl;
dacă(sold<500)
{
cout<<"Sold invalid. Soldul trebuie să fie mai mare de 500."<<endl;
exit(0);
}
}
int main()
{
int numar_cont;

Departamentul de Informatică ș i Inginerie


Pagina | 7
BCS306B Programare orientată pe obiect cu C++

char nume[100];
bal flotant;

cout<<"Introduceț i detaliile contului:");


cout<<"Număr de cont:";

cin >> acc_no;


cout<<"Nume:";
cin>>nume;
Soluț ie:
cin>>bal;
Bancă b1(număr_cont,nume,sold);

[Link]ș eazăCont();
[Link]();
[Link]();
}
OUTPUT:

Departamentul de Informatică ș i Inginerie


Pagina | 8
BCS306B Programare orientată pe obiect cu C++

EXPERIMENT NR: 05
Dezvoltați un program C++ pentru a demonstra supraincarcarea funcțiilor pentru următoarele prototipuri.

#include<iostream>
folosind namespace std;

int aduna(int a,int b);


double aduna(double a, double b);
int main()
{
cout << add(10,20) << "\n";
cout<<aduna(2.5,3.7)" ";
return 0;
}
int aduna(int a,int b)
{
return(a+b);
}
dublu adaugă(dublu a, dublu b)
{
return(a+b);
}

IEȘ IRE:

Departamentul de Informatică ș i Inginerie


Pagina | 9
BCS306B Programare orientată pe obiect cu C++

EXPERIMENTUL NR: 06
Dezvoltă un program C++ folosind supraincarcarea operatorilor pentru a supraincarca operatorul unar minus.

#include<iostream>
folosind namespace std;

clasă spaț iu
{
int x;
int y;
int z;
public: void obtineDate(int a, int b, int c);

void afiseaza();
void operator-();
};
void space:: getdata(int a,int b, int c)
{
x=a;
y=b;
z=c;
}
void space:: display()
{
std::cout<< x <<
std::cout<< y <<" ";
std::cout<< z <<" ";
}
void spaț iu :: operator-()
{
x=-x;
y=-y;
z=-z;

Departamentul de Informatică ș i Inginerie


Pagina | 10
BCS306B Programare orientată pe obiect cu C++

}
int main()
{
spaț iu s;
[Link](10,-20,30);
cout << "S :";
[Link]();
-s;
cout<<"S :";
[Link]();
return 0;
}

OUTPUT:

Departamentul de Informatică ș i Inginerie


Pagina | 11
BCS306B Programarea orientată pe obiect cu C++

EXPERIMENTUL NR : 07
Dezvoltați un program C++ pentru a implementa moștenirea multiplă pentru a efectua aritmetică
operația cu două numere.

#include<iostream>
folosind namespace std;
clasă adăuga

{
public:
int x=20;
int y=30;
void suma()
{
suma lui
}
};
clasă mul
{
public
int a=20;
int b=30;
void mul ()
{
cout<<"Înmulț irea lui "<<a<<" ș i "<<b<<" este "<<a*b<<endl;
}
};
clasă sub
{
public
int a=50;
int b=30;

Departamentul de Ș tiinț a Calculatoarelor ș i Inginerie


Pagina | 12
BCS306B Programare orientată pe obiect cu C++

void substr()
{
cout<< "Scăderea dintre " << a << " ș i " << b << " este " << a - b << endl;

}
};
clasa div
{
public:
int a=150;
int b=30;
void divid()
{
cout<<"divizia lui "<<a<<" si "<<b<<" este "<<a/b<<endl;
}
};
clasă derivate: public adăuga, public diviza, public scădea, public înmulț i

{
public
int p=12;
int q=5;
void mod()
{
cout<<"Modulul lui "<<p<<" si "<<q<<" este "<<p%q<<endl;
}
};
int main()
{
derivat dr;
[Link]();
[Link]();
[Link] ();

Departamentul de Informatică ș i Inginerie


Pagina | 13
BCS306B Programare orientată pe obiect cu C++

[Link]();
[Link]();
}

IEȘ IRE:

Department of Computer Science and Engineering


Pagina | 14
BCS306B Programare orientată pe obiect cu C++

EXPENDED NR : 08
Dezvoltați un program C++ folosind constructor în clase derivate pentru a inițializa alpha, beta și
gamma și afișați valorile corespunzătoare.

#include<iostream>
folosind spaț iul de nume std;

clasa alfa
{
int x;
public:
alpha(int i)
{
x=i;
cout<<"Alpha Iniț ializat\n";
}
void arata_x()
{
x=
}
};
clasa beta
{
float y;
public
beta(float j)
{
y=j;
cout<<"Beta iniț ializează\n";
}
void arata_y()
{

Departamentul de Informatică ș i Inginerie


Pagina | 15
BCS306B Programare orientată pe obiect cu C++

y=
}
};
clasă gamma: public beta, public alpha
{
int m,n,c,d;
public
gamma(int a, float b, int c, int d): alpha(a), beta(b)

{
m=c;
n=d;
cout << "gamma iniț ializat\n";
}
void arata_mn()
{
m=
n=
}
};
int main()
{
gamma g(5,7.65,30,100);
g.show_x();
g.arata_y();
g.show_mn();
întoarce 0;
}

Departamentul de Informatică ș i Inginerie


Pagina | 16
BCS306B Programare orientată pe obiect cu C++

OUTPUT:

EXPONAT NR : 09
Dezvoltă un program C++ pentru a crea un fișier text, verifică dacă fișierul a fost creat sau nu, dacă a fost creat, va scrie.
unele texte în fișier și apoi citesc textul din fișier.

#include<iostream>
#include<fstream>
folosind namespace std;

int main()
{
fstream nou fisier;

newfi[Link]("[Link]",ios::out);
dacă(!newfile)
{
std::cout << "Fiș ierul nu a fost creat\n";

}
altfel

Departamentul de Informatică ș i Inginerie


Pagina | 17
BCS306B Programare orientată pe obiect cu C++

{
fiș ierul a fost creat
}
Bine aț i venit la gestionarea fiș ierelor

newfi[Link]();
newfi[Link]("[Link]",ios::in);
ș ir ch;
în timp ce(getline(newfile,ch))
{
cot<<ch;
}

newfi[Link]();
return 0;
}

IEȘ IRE:

Departamentul de Informatică ș i Inginerie


Pagina | 18
BCS306B Programare orientată pe obiect cu C++

EXPERIMENTUL NR: 10
Dezvoltă un program C++ pentru a scrie și citi timpul din/într-un fișier binar folosind fstream.

#include <iostream>
#include <fstream>
#include <cstring>
#include <c me>
folosind spaț iul de nume std;

int main()
{
fstream data_ me;
date_ [Link]("[Link]", ios::binary| ios::out);
me_t acum = me(0);
char* dt = c me(&now);
date_ me<<dt;
date_ [Link]();
date_ [Link]("[Link]", ios::binary| ios::in);
int size = strlen(dt);
char buffer[size-1];
date_ [Link](buffer, sizeof(buffer));
date_ [Link]();
cout<<buffer;
return 0;
}

OUTPUT:

Departamentul de Informatică ș i Inginerie


Pagina | 19
BCS306B Programare orientată pe obiect cu C++

EXPERSIMENT NR: 11
Dezvoltă o funcție care aruncă o excepție de împărțire la zero și prinde-o în blocul catch.
Scrieți un program C++ pentru a demonstra utilizarea try, catch și throw pentru a gestiona excepțiile.

#include<iostream>
folosind spaț iul de nume std;

int main()
{
float numerator, denominator, result;
cout<<"introduceț i valoarea numărătorului\n";

cin >> numărător;


introduceț i valoarea numitorului
cin >> numitor;
încearcă
{
dacă (numitorul == 0)
aruncă 0;

rezultat = numărător / numitor;


cout << numerator << " / " << denominator << " = " << result << endl;

}
catch(int x)
{
cout<<"excep on prins: împărț it la "<<x;
}
return 0;
}

Departamentul de Informatică ș i Inginerie


Pagina | 20
BCS306B Programare orientată pe obiect cu C++

OUTPUT:

Departamentul de Ș tiinț a Calculatoarelor ș i Inginerie


Pagina | 21
BCS306B Programare orientată pe obiect cu C++

EXPERIMENTUL NR: 12
Dezvoltă un program C++ care gestionează excepțiile de depășire a limitelor unui tablou folosind C++.

#include <iostream>
#include <stdexcept>
folosind spaț iul de nume std;

int safeArrayAccess(int arr[], int size, int index)


{
dacă (index < 0 || index >= dimensiune)

{
aruncă_tuș ă_de_limiter('Index în afara limitelor');

}
returnează arr[index];

}
int main()
{
int numere[] = {10, 20, 30, 40, 50};
int dimensiune = sizeof(numere) / sizeof(numere[0]);

int index;
introduceț i un index:
cin >> index;
încearcă
{
int rezultat = accesareSiguraArray(numere, dimensiune, indice);

cout << "Valoarea la indexul " << index << ": " << result << endl;

}
catch (excepț ie &e)
{
Excep on:
}
return 0;

Departamentul de Informatică ș i Inginerie


Pagina | 22
BCS306B Programare orientată pe obiect cu C++

IEȘ IRE:

Departamentul de Informatică ș i Inginerie


Pagina | 23

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