Salve, dovendo scrivere un programma con cui effettuare somma, sottrazione, moltiplicazione, divisione, modulo, radice quadrata, potenza di 3di due numeri dati in ingresso sullo standard input dall’utente (numeri reali), ho provato a scrivere il seguente codice:
Il problema è che quando compilo mi riporta, per tutte le operazioni, un valore pari a 0. Inoltre, se provo ad inserire come primo valore un intero il programma non mi permette neanche di inserire il secondo valore e si termina immediatamente. Ho provato a controllare più volte il tutto e non sono riuscito a capire quale possa essere il motivo.codice:#include <stdio.h> #include <iostream> #include <cstdlib> #include <cstring> #include <math.h> int main () { float a, b, c, d, e, f, g_1, g_2, h_1, h_2, i_1, i_2; printf("Inserire il primo valore \n"); scanf("%d", &a);//Comando per definire le variabili di cui si devono inserire i valori printf ("Inserire il secondo valore \n"); scanf("%d", &b); printf ("La somma dei due valori inseriti e': %f \n", c); c = a + b; printf ("La differenza dei due valori inseriti e': %f \n", d); d = a - b; printf("Il prodotto dei due valori inseriti e': %f \n", e); e = a * b; printf("Il quoziente dei due valori inseriti e' %f \n", f); f = a / b; printf("Il modulo del primo valore inserito e': %f \n", g_1); g_1 = abs(a); printf ("Il modulo del secondo valore inserito e': %f \n", g_2); g_2 = abs(b); printf ("La radice quadrata del primo valore inserito e': %f \n", h_1); h_1 = sqrt(a); printf("La radice quadrata del secondo valore inserito e': %f \n", h_2); h_2 = sqrt(b); printf("La potenza di 3 del primo valore inserito e':%f \n", i_1); i_1 = (a) * (a) * (a); printf("La potenza di 3 del secondo valore inserito e': %f \n", i_2); i_2 = (b) * (b) * (b); system ("PAUSE"); //COMANDO DI ATTESA return 0; //valore di ritorno del programma }
Grazie in anticipo a chi mi aiuterà.

Rispondi quotando