En C++, las funciones son bloques de código que realizan una tarea específica y pueden devolver un valor al llamarse, mientras que los procedimientos (técnicamente funciones void) realizan tareas sin devolver valores. Esto ayuda a estructurar y organizar el código, haciéndolo más claro y reutilizable.

Funciones

Son los subprogramas que devuelven algún valor.

Procedimientos

Se ejecutan y no devuelven ningún valor.

#include <iostream>
using namespace std;

//procedimiento
void mensaje(string cadena){
	cout << "Hola mundo " << cadena;
}

main(){
	string cadena = "cruel";
	mensaje(cadena);
	
}

Diferencia

Las funciones devuelven un resultado, este resultado debe de ser mostrado, el llamado de la función debe ser usado. Por ejemplo:

1) cout << suma(8, 7);
2) int total = suma(8, 7);
3) int otraSuma = 18 + suma(7, 8);
4) if(suma(7, 8) > 15){
		cout << "Numero mayor";
	 else{
		 cout << "Numero menor";

Los procedimientos pueden no devolver un resultado.

Ejercicio 1.

Construya un programa que pida el número del día de la semana y lo envíe a una función. Devolverá el nombre del día.

#include <iostream>

using namespace std;

string day(int n){
	switch(n){
		case 1: 
			return "Lunes";
			break;
		case 2:
			return "Martes";
			break;
		case 3:
			return "Miercoles";
			break;
		case 4:
			return "Jueves";
		case 5:
			return "Viernes";
			break;
		case 6:
			return "Sabado";
			break;
		case 7:
			return "Domingo";
			break;
	}
}

main(){
	int n;
	
	cout << "1 -> Lunes" << endl;
	cout << "2 -> Martes" << endl;
	cout << "3 -> Miercoles" << endl;
	cout << "4 -> Jueves" << endl;
	cout << "5 -> Viernes" << endl;
	cout << "6 -> Sabado" << endl;
	cout << "7 -> Domingo" << endl;
	
	cout << "Ingrese el numero de su dia: ";
	cin >> n;
	
	cout << "Su dia es " << day(n);
}

Ejercicio 2.

Haga un programa en donde se enviará un número a una función. Y si es positivo, devolverá verdadero (true). De lo contrario, devolverá falso (false).

#include <iostream>

using namespace std;

bool check(int n);

main(){
	int num;
	
	cout << "Ingrese un numero: ";
	cin >> num;
	
	if()
	cout << "Su numero es: " << check(num);
}

bool check(int num){
	if(num > 0){
		return true;
	}
	else{
		return false;
	}
	
	
}