Ҳавола ёрдамида қийматни қайтарилиши
9.8. – листингда келтирилган мисол тўғри ишлашига қарамай, уни ўқиш ва ишлатиш учун албатта кўрсатгичлар ўрнига ҳаволалардан фойдаланиш лозим. 9.9. – листингда худди шу дастур келтирилган.
9.9. – листинг. Ҳаволалар ёрдамида қийматларни қайтарилиши
//9.9. – листинг.
//ҳавола ёрдамида функция бир неча қийматни қайтариши
# include
typedef unsigned short USHORT;
enum ERR_CODE{ SUCCESS, ERROR };
ERR_CODE Factor (USHORT, USHORT&, USHORT&);
int main( )
{
USHORT number, squared,cubed;
ERR_CODE result;
cout << “Enter a number ( 0 – 20 ): ”;
cin >> number;
result = Factor(number, squared, cubed);
if (result == SUCCESS)
{
cout << “number:” << number<< “\n”;
cout << “square:”<
cout << “cubed:” << cubed<< “\n”;
}
else
cout << “Error encountered!!\n”;
return 0;
}
ERR_CODE Factor(USHORT n,USHORT & Squared,USHORT & rCubed)
{
if ( n>20)
return ERROR;
else
{
rSquared = n * n;
rCubed = n * n * n;
return SUCCESS;
}
}
НАТИЖА:
Enter a number ( 0 – 20 ) : 3
number : 3
square : 9
cubed : 27
ТАҲЛИЛ
9.9. – листинг 9.8. – листингдан иккита хусусияти билан фарқ қилади. Биринчиси, ЕRR_CODE саноқли тўплами хатолик ҳақидаги хабарни нисбатан аниқроқ кўрсатади.
Иккинчиси, Factor() функциясидаги кўрсаткичлар ўрнига ҳаволалар ишлатилишидир. Ҳаволаларни ишлатилиши кўрсаткичларнинг ишлатилишига нисбатан тушунарлироқдир.
Do'stlaringiz bilan baham: |