Realizarea unei aplicatii cu un tip abstract de date (o clasa) ce permite memorarea datelor într-un numar complex

Configurare noua (How To)

Situatie

Solutie

#include <iostream>
#include <fstream>
#include <math.h>
using namespace std;
class complex
{
	private: //era implicit
	float a,b; //a - partea reala, b - partea imaginara
	public:
void citire(char* s) //functie ptr. introducerea datelor intr-un numar complex
/*acesta functie va fi dezvoltata in interiorul clasei, catalogata fiind ca si functie in-line*/
	{
cout<<"Introduceti datele nr. complex "<<s<<endl; /*in loc de endl ar fi mers si 'n' sau "n"*/
		cout<<"tpartea reala: ";
		cin>>a;
		cout<<"tpartea imaginara: ";
		cin>>b;
	}
	void afisare(char*); //functie pentru afisarea datelor intr-un numar complex
/*functia <afisare> va fi dezvoltata in exteriorul clasei, catalogata find ca si functie off-line*/
};
void complex::afisare(char* s)
{
	cout<<"Nr. complex "<<s<<" este: "<<a;
	cout.setf(ios::showpos); //se adauga un semn '+' valorilor pozitive
	cout<<b<<"*i"<<endl;
	cout.unsetf(ios::showpos); //se anuleaza semnul '+' ptr. valorile pozitive
}
void main()
{
	//declaram un obiect la clasa anterior definita
	complex z1;
/*apelam functia de citire pentru obiectul in caz (in situatia de fata el devine obiect curent)*/
	z1.citire("z1");
	z1.afisare("z1");
	cout<<endl;
/*in cazul de mai sus am facut o declaratie de obiect static. 
Ce se intampla in situatia in care obiectul declarat este unul dinamic?*/
	complex* z2;
	z2=new complex; //am folosit operatorul de alocare de memorie din C++, si anume <new>
	z2->citire("z2");
	z2->afisare("z2");
 
	int g;
	cin >>g;
}

Tip solutie

Permanent

Voteaza

(11 din 25 persoane apreciaza acest articol)

Despre Autor

Leave A Comment?