Ragazzi aiutatemi che mi sto rimbambendo a capire perchè questi 2 programmi non funzionano come si deve, vi posto i codici e i risultati strani ottenuti.
Funzione pari o dispari.
#include <stdio.h>
#include <stdlib.h>
int pod (int);
main()
{
int a = 0, b = 0, c = 0;
printf ("Digita 3 numeri interi:\n");
printf ("1: ");
scanf ("%d", &a);
printf ("2: ");
scanf ("%d", &b);
printf ("3: ");
scanf ("%d", &c);
printf ("Il numero %d e' ",a ,pod(a));
printf ("Il numero %d e' ",b ,pod(b));
printf ("Il numero %d e' ",c ,pod(c));
}
int pod (int x)
{
if ( x % 2 == 0)
printf ("pari.\n");
else
printf ("dispari.\n");
}
e questo è il risultato
Digita 3 numeri interi:
1: 3
2: 4
3: 5
dispari. /*Perchè me lo scrive qui il dispari ??????*/
Il numero 3 e' pari.
Il numero 4 e' dispari.
Il numero 5 e'
Process returned 15 (0xF) execution time : 2.543 s
Press any key to continue.
e questo e l'altro che non capisco.
#include <stdio.h>
#include <stdlib.h>
/*Conversioni di Temperatura */
float celsius (float);
main()
{
float fahrenheit;
printf ("Digita i Fahrenheit:");
scanf ("%f", &fahrenheit);
printf ("I Fahrenheit %.3f convertiti in Celsius sono: %.3f",fahrenheit, celsius(fahrenheit));
}
float celsius (float x)
{
return (5/9) * (x - 32);
}
ed ecco il risultato strano...
Digita i Fahrenheit:67.4
I Fahrenheit 67.400 convertiti in Celsius sono: 0.000 /* Perchè esce 0.000 ?????????? */
Process returned 53 (0x35) execution time : 3.484 s
Press any key to continue.
C'è qualcosa che mi sono perso quando studiavo le funzioni ??
Avvertenza: non adoperate i puntatori per favore, non li ho ancora studiati.