#include <stdio.h>
int main ()
{
float n; /* Dichiarazione delle variabili */
printf("\n Inserisci un numero:\t"); /* Richiedo un numero qualsiasi */
scanf("%f",&n);
n=n-(int)n; /* Effettuazione di un cast esplicito */
if (n==0) /* Condizione */
printf("\nNumero intero\n "); /* Stampa la stringa se la condizione è vera */
else
printf("\nNumero in virgola mobile\n"); /* Stampa la stringa se la condizione è falsa */
printf("\n\n\n\t\t PoWeReD By T4n|n0 Ru|3z\n\n\n");
return 0;
}
Refactorings
No refactoring yet !
Eineki
February 20, 2008, February 20, 2008 22:04, permalink
it: Il tuo codice distrugge il numero preso in input:
en: your code destroys the input a slight variation:
#include <stdio.h>
#define IS_INTEGER_VALUE(x) ((int)(x)==x)
int main ()
{
float n; /* Dichiarazione delle variabili */
printf("\n Inserisci un numero:\t"); /* Richiedo un numero qualsiasi */
scanf("%f",&n);
if (IS_INTEGER_VALUE(n))
{
printf("\nNumero intero\n "); /* Stampa la stringa se la condizione è vera */
}
else
{
printf("\nNumero in virgola mobile\n"); /* Stampa la stringa se la condizione è falsa */
}
return 0;
}
#include <stdio.h>
#include <math.h>
#define IS_INTEGER_VALUE(x) ((x)==floor(x))
int main ()
{
float n; /* Dichiarazione delle variabili */
printf("\n Inserisci un numero:\t"); /* Richiedo un numero qualsiasi */
scanf("%f",&n);
if (IS_INTEGER_VALUE(n))
{
printf("\nNumero intero\n "); /* Stampa la stringa se la condizione è vera */
}
else
{
printf("\nNumero in virgola mobile\n"); /* Stampa la stringa se la condizione è falsa */
}
return 0;
}
Dato un numero,restituisce se esso è un intero o in virgola mobile.