Salve a tutti.. eseguendo il codice in basso, il risultato delle banali operazioni di addizione, sottrazione ecc. viene sempre 0. Non capisco dove sta l'errore..Vorrei sapere anche come sostituire il goto e la ripetizione del getchar()..sono alle primissime armi con il c quindi siate clementi..
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
float n1, n2, somma, sottr, molt, div, potenza;
char c, r;
printf("operatore: ");
scanf("%c", &c);
inizio: printf("primo numero: ");
scanf("%f", &n1);
printf("secondo numero: ");
scanf("%f", &n2);
if(c == '+'){
somma = n1 + n2;
printf("%f", &somma);
}
else{
if(c == '-'){
sottr = n1 - n2;
printf("%f", &sottr);
}
else{
if(c == '*'){
molt = n1 * n2;
printf("%f", &molt);
}
else{
if(c == '/'){
div = n1 / n2;
printf("%f", &div);
}
else{
if(c == '^'){
potenza = pow(n1, n2);
printf("%f", &potenza);
}
else{
if(c != '+'||'-'||'*'||'/'||'^')
printf("ERRORE");
}
}
}
}
}
printf("\nsi desidera continuare? s\tn\n");
r = getchar();
r = getchar();
if(r == 's')
goto inizio;
else{
if(r = 'n')
exit(0);
}
}