Boa tarde pessoal , preciso fazer um menu com algumas opções . O usuário irá digitar dois números e de acordo com esses valores ele irá escolher uma opção para executar na tela . Até a parte de criação do menu e realizar as chamadas das funções foi tudo bem , porém quando peço pra executar uma opção ele retorna um valor errado . Por exemplo se o usuário digitar 3 e 4 como números de entrada e pedir para somar os dois números , o programa exibe o resultado de 42. Acho que eu estou fazendo alguma confusão na hora de passar as informações digitadas pelo usuário... Se alguém puder me dar uma luz, agradeço.
 
	 
 
	#include<stdlib.h> 
	#include<stdio.h> 
	#include<locale.h> 
	int menu(int opcao); 
	int soma(int a, int b); 
	int ordem(int maior, int menor); 
	int num_M(int maior, int menor); 
	int main() 
	{ 
	    int n1,n2; 
	    int opcao=0; 
	    int chama=0; 
	    setlocale(LC_ALL,"Portuguese"); 
	    printf("\n Digite um número : "); 
	    scanf("%i",&n1); 
	    printf("\n Digite um número : "); 
	    scanf("%i",&n2); 
	    chama = menu(opcao); 
	}
 
	int menu(int opcao) 
	{ 
	    int maior,menor; 
	    int n1,n2; 
	    int result; 
	    printf("\n-------MENU--------"); 
	    printf("\n 0-SAIR"); 
	    printf("\n 1-Somar dois números"); 
	    printf("\n 2-Exibir o maior número"); 
	    printf("\n 3-Exibir números em ordem decrescente"); 
	    printf("\n Digite uma opção : "); 
	    scanf("%i",&opcao); 
	    if(opcao == 1) 
	    { 
	      result = soma(n1,n2); 
	    } 
	    if(opcao == 2) 
	    { 
	     ordem(maior,menor); 
	    } 
	    if(opcao == 3) 
	    { 
	     num_M( maior,  menor); 
	    } 
	} 
	int soma( int a, int b) 
	{ 
	    int result ; 
	    result = a + b; 
	    printf("\n A soma dos números é : %i",result); 
	         
	} 
	int ordem(int maior,int menor) 
	{ 
	    int n1,n2; 
	    if(n1>n2) 
	    { 
	        maior = n1; 
	        menor = n2; 
	    } 
	    else 
	    { 
	        maior = n2; 
	        menor = n1; 
	    } 
	    printf("\n O maior número é : %i",maior); 
	} 
	int num_M(int maior, int menor) 
	{ 
	    int n1,n2; 
	    if(n1>n2) 
	    { 
	        maior = n1; 
	        menor = n2; 
	    } 
	    else 
	    { 
	        maior = n2; 
	        menor = n1; 
	    } 
	    printf("\n A ordem dos números é : %i\n %i\n",maior,menor); 
	}