Salve a tutti,
Ho creato un piccolo programma, per esercitarmi con le funzioni, però non mi dà nessun errore sintattico, secondo me è un errore di passaggio di funzioni.
In pratica, quando inserisco dei numeri, prende i numeri della ram, ma no i numeri dell'input.
vedi codice.
#include <stdio.h>
#include <stdlib.h>
float inserisci (float a, float b){
printf("Inserisci 1° numero:\n");
scanf("%f", &a);
printf("Inserisci 2° numero:\n");
scanf("%f", &b);
return(a);
return(b);
}
float somma (float n1, float n2, float n3){
float r;
r = n1 + n2;
return(r);
}
float sottrazione (float n1, float n2){
float sot;
sot = n1 - n2;
return(sot);
}
float moltiplicazione (float n1,float n2) {
float molt;
molt = n1 * n2;
return(molt);
}
float divisione (float n1, float n2) {
float div;
div = n1 / n2;
return(div);
}
void stampasomma(float n1, float n2, float n3) {
printf("\nLa somma di %f e %f è %f\n", n1, n2, n3);
}
void stampasottrazione(float n1, float n2, float n3) {
printf("\nLa sottrazione di %f e %f è %f\n", n1, n2, n3);
}
void stampadivisione(float n1, float n2, float n3) {
printf("\nLa divisione di %f e %f è %f\n", n1, n2, n3);
}
void stampamoltiplicazione(float n1, float n2, float n3) {
printf("\nLa moltiplicazione di %f e %f è %f\n", n1, n2, n3);
}
float main(){
float a, b, som, sot, molt, div, in;
int numero;
printf("\nScegli i seguenti numeri da 1 fino a 4:\n\nn° 1 è somma\nn° 2 è sottrazione\nn° 3 è moltiplicaione\nn° 4 divisione\n\nINSERISCI: ");
scanf("%d",&numero);
switch (numero) {
case 1:
in = inserisci(a,b);
som = somma(a,b,in);
stampasomma(a,b,som);
break;
case 2:
sot = sottrazione(a,b);
stampasottrazione(a,b,sot);
break;
case 3:
molt = moltiplicazione(a,b);
stampamoltiplicazione(a,b,molt);
break;
case 4:
div = divisione(a,b);
stampadivisione(a,b,div);
break;
}
}