Giải thích thế này cho dễ hiểu, còn code thì bác phải tự viết lại thôi.
const là một số không thể thay đổi được. Khác với biến, ví dụ const ở trên là 0123456789ABCDEF
thì const này không thể thay đổi được, không thể gán alpha = x với x là một số hay một thứ nào khác
Còn bên trên là hàm với cấu trúc void <ten ham> <khai báo dữ liệu nhập vào>
, với dạng hàm này sẽ được thực thi trong khi hàm main có lời gọi hàm nó, ví dụ mình sẽ để bên duới.
Nói chung nó chỉ là 1 hàm xử lý dạng hàm gọi hàm, hay hàm chồng hàm, hay có thể gọi là đệ quy.
Đệ quy thì kiến thức rộng lắm, bác đọc thêm về đệ quy để hiểu các thao tác của đệ quy và các bước duyệt điều kiện và lưu vào stack.
còn lời gọi hàm thì sao bác xem ví dụ bên dưới:
void printinbase(long d, short b){ //code in here }
int main(){
long a; short b;
printinbase(a, b);
}
Tất nhiên các hàm dùng dể thực hiện một công việc nào đó nhiều lần, hoặc muốn code rõ ràng thì người ta dùng hàm 
Còn các lện cout, cin thì nó cũng giống với lệnh printf hay scanf, tuy nhiên 2 lệnh cout cin nó không xét kiểu dữ liệu mà nó dùng kiểu dữ liệu sẵn có của biến được khai báo.
p/s: hàm main là một hàm đặc biêtk