Mi sono permesso di riscrivere un pò il tuo programma
(la funzione del calcolo del massimo comune divisore era sbagliata e bloccava il programma)
eccotelo completo con l'aggiunta del menu:
#include <stdio.h>
int massimo(int n1, int n2);
int minimo (int n1, int n2);
int num1,num2=0;
int mcm,mcd,c;
int main()
{
do{
printf("\nCalcolo MCD e mcm:\n"
"\t\t1-Inserire i numeri:\n"
"\t\t2-Calcola MCD:\n"
"\t\t3-Calcola mcm:\n"
"\t\t0-EXIT\n");
scanf("%d",&c);
if (c<0 || c>3)
printf("numero errato\n");
else{
switch(c){
case (1):
printf("Inserisci due numeri interi: \n");
scanf("%d %d",&num1,&num2);
break;
case (2):
mcd=massimo(num1, num2);
printf("il massimo comune divisore e' %d\n",mcd);
break;
case (3):
mcm=minimo(num1, num2);
printf("il minimo comune multiplo e' %d\n",mcm);
break;
default:
printf("fine programma");
}
}
}
while(c!=0);
return 0;
}
int minimo(int n1,int n2)
{
int a;
a=n1*n2/massimo(n1, n2);
return a;
}
int massimo(int n1,int n2)
{
while (n1 != n2)
{
if (n1 > n2)
{
n1 = n1 - n2;
}
else
{
n2 = n2 - n1;
}
}
return n1;
}
Spero di averti fatto cosa gradita.
Ciao![]()

Rispondi quotando