Programare orientata pe obiecte c++

Configurare noua (How To)

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

Pasi de urmat

// 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;

        }

  }

 In urma executarii programului anterior s-au obtinut urmatoarele rezultate, care arata cum se declara o clasa, un obiect al acestei clase si modul in care se apeleaza membrii acestei clase, prin intermediul  unei instante a acestei clase.

 denumirea cartii:Trecea o moara pe Siret

 primul autor:Mihail Sadoveanu

 al doilea autor: —

  1. pagini:200

 pret:30

 cartea nr.0:Trecea o moara pe Siret

 primul autor:Mihail Sadoveanu

 al doilea autor:  —

 nr pagini:200

 pretul:30

 continuati?(d/n):d

 denumirea cartii:O noapte furtunoasa

 primul autor:Ion Luca Caragiale

 al doilea autor: —

  1. pagini:50

 pret:25

 continuati?(d/n):n

Tip solutie

Permanent

Voteaza

(6 din 13 persoane apreciaza acest articol)

Despre Autor

Leave A Comment?