Ti consiglio di guardare bene il codice che hai scritto e confrontarlo con quello corretto, gli errori di trascrizione sono molteplici, dovuti a sicura disattenzione, purtroppo se non ti concentri non riuscirai mai a scrivere un programma, la superficialità non si elimina con lo studio.
Invece il fatto di aver impostato non correttamente le funzioni e le dichiarzioni delle variabili significa che devi approfondire lo studio ed esercitarti, proprio come stai facendo.
#include <iostream>
#include <string>
#include <cmath>
using namespace std;
int MCD(int num1,int num2,int num3){
int i,min=0;
if (num1<num2){min=num1;}
else {min= num2;}
if (num3<min){min=num3;}
for(i=min;i>=1;i--){
if( num1%i==0 && num2%i==0 && num3%i==0){
break;
}
}
return i;
}
int mcm(int num1,int num2,int num3){
int c,max=0;
max=num1*num2*num3;
for(c=1;c<=max;c++){
if( c%num1==0 && c%num2==0 && c%num3==0){
break;
}
}
return c;
}
int main(){
int x,y,z=0;
cout<<"num1: ";
cin>>x;
cout<<"num2: ";
cin>>y;
cout<<"num3: ";
cin>>z;
//stampa MCD e mcm
cout<<endl<<"M.C.D.= "<<MCD(x,y,z);
cout<<endl<<"m.c.m.= "<<mcm(x,y,z)<<endl;
return 0;
}