 Процедури
 Процедури
void print_time(Time t)
/* PURPOSE: 
Print a time in the format h:mm:ss
   RECEIVES: t - the time to
print
*/
{  cout << t.get_hours() <<
":";
   if (t.get_minutes() <
10) cout << "0";
   cout << t.get_minutes()
<< ":";
   if (t.get_seconds() <
10) cout << "0";
   cout << t.get_seconds();
}
int main()
{  Time liftoff(7, 0, 15);
   Time now;
   cout << "Liftoff: ";
   print_time(liftoff);
   cout << "\n";
   cout << "Now: ";
   print_time(now);
   cout << "\n";
   return 0;
}
 Параметри-псевдоними
 Параметри-псевдоними
* Параметър-псевдоним не е нова променлива, а псевдоним на съществуваща
променлива в извикващата функция.
#include <iostream>
using namespace std;
#include "ccc_empl.cpp"
void raise_salary(Employee& e, double
by)
/* PURPOSE: 
Raise an employee salary
   RECEIVES: e - employee receiving
raise
            
by - the percentage of the raise
*/
{  double new_salary = e.get_salary()
* (1 + by / 100);
   e.set_salary(new_salary);
}
int main()
{  Employee harry("Hacker, Harry",
45000.00);
   raise_salary(harry, 5);
   cout << "New salary:
" << harry.get_salary() << "\n";
   return 0;
}
 Постъпково прецизиране,
създаване на кода, проиграване
 Постъпково прецизиране,
създаване на кода, проиграване
 Рекурсия
 Рекурсия
* Функцията  n!  (n факториел),  n! = 1.2.3.4...n
 
| n | n! | 
| 0 | 1 | 
| 1 | 1 | 
| 2 | 2 | 
| 3 | 6 | 
| 4 | 24 | 
| 5 | 120 | 
| 6 | 720 | 
| 7 | 5040 |