Salve, ho realizzato il seguente programma, ma le printf che ho messo in evidenza mi restituiscono valori diversi tra di loro ,come posso rimediare?Grazie.
#include <stdio.h>
#include <stdlib.h>
int Calcola_la_potenza(int dividendo,int esponente);
int Calcola_Resto(int potenza,int divisore);
void Stampa_Resto(int resto);
int main()
{
int dividendo,esponente,divisore,resto,potenza;
printf("Programma per calcolare il resto di una divisione\n");
printf("Inserisci il dividendo: ");
scanf("%d",÷ndo);
printf("Inserisci l'esponente se presente altrimenti metti uno: ");
scanf("%d",&esponente);
printf("Inserisci il divisore: ");
scanf("%d",&divisore);
if (divisore<=dividendo){
Calcola_la_potenza(dividendo,esponente);
Calcola_Resto(potenza,divisore);
Stampa_Resto(resto);
}
else
printf("non puoi inserire un divisore piu' grande del dividendo");
return 0;
}
int Calcola_la_potenza(int dividendo,int esponente)
{
int i=0;
int potenza=1;
while (i<esponente){
potenza=(potenza*dividendo);
i++;
}
printf("potenza %d\n",potenza); <<--------------------------
return potenza;
}
int Calcola_Resto(int potenza,int divisore)
{
int quoziente,moltiplicazione,resto;
printf("potenza %d\n",potenza); <<-------------------------
quoziente=(potenza/divisore);
printf("quoziente %d\n",quoziente);
moltiplicazione=(quoziente*divisore);
printf("moltiplicazione %d\n",moltiplicazione);
resto=(potenza-moltiplicazione);
return resto;
}
void Stampa_Resto(int resto)
{
printf("Il resto e': %d",resto);
return;
}