Situatie
Sa se citeasca de la tastatura informatiile specifice cartilor dintr-o librarie: denumire carte, autorul principal, al doilea autor, numarul de pagini si pretul. Prin intermediul unei clase, carte, care descrie datele despre o carte, proprietatile (denumire carte, autorul principal, al doilea autor, numarul de pagini si pretul) si metodele de prelucrare (initializarea si afisarea unei carti) sa se afiseze pe ecran informatiile despre orice carte tratata.
Solutie
// definirea clasei carte
#include<iostream.h>
#include<string.h>
#include<stdio.h>
class carte
{
public:
char nume[40];
char autor1[40];
char autor2[40];
int nrpag;
double pret;
void citeste_carte(char *numecarte,char *autorcarte1,char *autorcarte2,int *np,double *p);
void afiseaza_carte();
};
// descrirea functiei de citire carte
void carte::citeste_carte(char *numecarte,char *numeautor1,
char *numeautor2,int *np,double *p)
{
strcpy(nume,numecarte);
strcpy(autor1,numeautor1);
strcpy(autor2,numeautor2);
nrpag=*np;
pret=*p;
}
void carte::afiseaza_carte()
{
cout<<“\n cartea nr.”<<i<<“:”<<nume<<endl;
cout<<“\n primul autor:”<<autor1<<endl;
cout<<“\n al doilea autor:”<<autor2<<endl;
cout<<“\n nr pagini:”<<nrpag<<endl;
cout<<“\n pretul:”<<pret<<endl;
}
int i=0;
void main()
{
carte carteacitita;
char wnume[40],wautor1[40],wautor2[40];
int wnrpag;
double wpret;
char r=’d’;
while(r==’d’)
{
printf(“\n denumirea cartii:”);
gets(wnume);
printf(“\n primul autor:”);
gets(wautor1);
printf(“\n al doilea autor:”);
gets(wautor2);
cout<<“\n nr. pagini:”;
cin>>wnrpag;
cout<<“\n pret:”;
cin>>wpret;
carteacitita.citeste_carte(wnume,wautor1,wautor2,&wnrpag,&wpret);
carteacitita.afiseaza_carte();
cout<<“\n continuati?(d/n):”;
cin>>r;
}
}
Leave A Comment?