17.04.2013 Views

Florian Moraru PROGRAMAREA CALCULATOARELOR în limbajul C

Florian Moraru PROGRAMAREA CALCULATOARELOR în limbajul C

Florian Moraru PROGRAMAREA CALCULATOARELOR în limbajul C

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

int cmpan, cmplun;<br />

cmpan = d1.an-d2.an; // compara ani<br />

if (cmpan) return cmpan; // un nr. negativ sau pozitiv<br />

cmplun = d1.luna-d2.luna; // compara luni<br />

if (cmplun) return cmplun; // un nr. negativ sau pozitiv<br />

return d1.zi- d2.zi; // zero la egalitate de date<br />

}<br />

/* utilizare functii */<br />

void main () {<br />

date d1,d2; int res;<br />

char oper = '='; // operator afisat intre date<br />

printf ( "Data de forma zi luna an: ");<br />

scanf("%d%d%d", &d1.zi,&d1.luna,&d1.an);<br />

printf ( "Data de forma zi luna an: ");<br />

scanf("%d%d%d", &d2.zi,&d2.luna,&d2.an);<br />

res = cmpdat(d1,d2); // rezultat comparatie<br />

if (res < 0) oper='';<br />

printf ("%s %c %s \n", toString(d1), oper, toString(d2));<br />

}<br />

Urmeazã varianta C++, cu clasã <strong>în</strong> loc de structurã pentru data calendaristicã:<br />

class Date { // clasa pentru date calendaristice<br />

private:<br />

int zi,luna,an; // variabile ale clasei (datele clasei)<br />

public:<br />

Date (int z, int l, int a) { // constructor ptr obiectele clasei<br />

zi=z; luna=l ; an=a;<br />

}<br />

int compare ( Date d) { // compara ob. curent cu obiectul d<br />

int cmpan = an-d.an; // compara ani<br />

if (cmpan) return cmpan; // un nr. negativ sau pozitiv<br />

int cmplun = luna-d.luna; // compara luni<br />

if (cmplun) return cmplun; // un nr. negativ sau pozitiv<br />

return zi- d.zi; // zero la egalitate de date<br />

}<br />

char * toString () { // produce un sir cu datele clasei<br />

char * str = new char[11]; // sir de forma zz-ll-aaaa<br />

sprintf(str," %02d-%02d-%04d ",zi,luna,an);<br />

return str;<br />

}<br />

};<br />

// utilizare<br />

void main () {<br />

int z,l,a; char op = '='; // op este operatorul afisat (=,)<br />

cout > z >> l >> a; // citeste 3 intregi de la consola<br />

Date d1 (z,l,a); // un obiect d1<br />

cout > z >> l >> a; // citeste 3 intregi

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!