#include <iostream>
using namespace std;
struct AccountData {
int consult;
int minutes;
double rate;
double result;
double payment;
} ;
AccountData makeAccount( int consult, int minutes, double rate, double result, double payment)
{
return AccountData( { consult, minutes, rate, result, payment} ) ;
}
void high_procedure( AccountData * thisAccount)
{
cout << "do something with the account, like printing out \" payment \" "
<< thisAccount- > payment
<< "\n " ;
}
void low_procedure( AccountData * thisAccount)
{
thisAccount- > payment+ = 1.0 ;
cout << "do something with the account, like adding 1 to \" payment \" "
<< "\n " ;
}
int main( ) {
AccountData account1 = makeAccount( 1 ,2 ,3 ,4 ,5 ) ;
high_procedure( & account1) ;
low_procedure( & account1) ;
high_procedure( & account1) ;
AccountData account2 = makeAccount( 10 ,20 ,30 ,40 ,50 ) ;
high_procedure( & account2) ;
low_procedure( & account2) ;
high_procedure( & account2) ;
// your code goes here
return 0 ;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKc3RydWN0IEFjY291bnREYXRhIHsKCWludCBjb25zdWx0OwoJaW50IG1pbnV0ZXM7Cglkb3VibGUgcmF0ZTsKCWRvdWJsZSByZXN1bHQ7Cglkb3VibGUgcGF5bWVudDsKfTsKQWNjb3VudERhdGEgbWFrZUFjY291bnQoaW50IGNvbnN1bHQsIGludCBtaW51dGVzLCBkb3VibGUgcmF0ZSwgZG91YmxlIHJlc3VsdCwgZG91YmxlIHBheW1lbnQpCnsKCXJldHVybiBBY2NvdW50RGF0YSh7Y29uc3VsdCwgbWludXRlcywgcmF0ZSwgcmVzdWx0LCBwYXltZW50fSk7Cn0Kdm9pZCBoaWdoX3Byb2NlZHVyZShBY2NvdW50RGF0YSAqdGhpc0FjY291bnQpCnsKCWNvdXQgPDwgImRvIHNvbWV0aGluZyB3aXRoIHRoZSBhY2NvdW50LCBsaWtlIHByaW50aW5nIG91dCBcInBheW1lbnQgXCIiCgkgICAgIDw8IHRoaXNBY2NvdW50LT5wYXltZW50CgkgICAgIDw8ICJcbiI7Cn0Kdm9pZCBsb3dfcHJvY2VkdXJlKEFjY291bnREYXRhICp0aGlzQWNjb3VudCkKewoJdGhpc0FjY291bnQtPnBheW1lbnQrPTEuMDsKCWNvdXQgPDwgImRvIHNvbWV0aGluZyB3aXRoIHRoZSBhY2NvdW50LCBsaWtlIGFkZGluZyAxIHRvIFwicGF5bWVudCBcIiIKCSAgICAgPDwgIlxuIjsKfQppbnQgbWFpbigpIHsKCUFjY291bnREYXRhIGFjY291bnQxID0gbWFrZUFjY291bnQoMSwyLDMsNCw1KTsKCWhpZ2hfcHJvY2VkdXJlKCZhY2NvdW50MSk7Cglsb3dfcHJvY2VkdXJlKCZhY2NvdW50MSk7CgloaWdoX3Byb2NlZHVyZSgmYWNjb3VudDEpOwoJCglBY2NvdW50RGF0YSBhY2NvdW50MiA9IG1ha2VBY2NvdW50KDEwLDIwLDMwLDQwLDUwKTsKCWhpZ2hfcHJvY2VkdXJlKCZhY2NvdW50Mik7Cglsb3dfcHJvY2VkdXJlKCZhY2NvdW50Mik7CgloaWdoX3Byb2NlZHVyZSgmYWNjb3VudDIpOwoJLy8geW91ciBjb2RlIGdvZXMgaGVyZQoJcmV0dXJuIDA7Cn0=
stdout
do something with the account, like printing out "payment "5
do something with the account, like adding 1 to "payment "
do something with the account, like printing out "payment "6
do something with the account, like printing out "payment "50
do something with the account, like adding 1 to "payment "
do something with the account, like printing out "payment "51