Florian Moraru PROGRAMAREA CALCULATOARELOR în limbajul C
Florian Moraru PROGRAMAREA CALCULATOARELOR în limbajul C
Florian Moraru PROGRAMAREA CALCULATOARELOR în limbajul C
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