jazykc  2013.3
upoljazykc
 All Classes Files Functions Variables Typedefs Macros Pages
cela-cast.c
Go to the documentation of this file.
1 
21 #include <stdio.h>
22 #include <stdlib.h>
23 
24 #include <math.h>
25 #include <limits.h>
26 
27 int main(void) {
28 
29  double dabl;
30  long l;//na 64bit long nepretece
31 //take lze long 'zkratit' na 32bit pomoci CPFLAGS = -m32
32 //ale nutny package glibc-devel.i686 (Fedora 18)
33 //int l;
34 
35  printf("LONG_MAX=%li\n", LONG_MAX);
36  printf(" INT_MAX=%li\n", INT_MAX);
37 
38  printf("Zadejte cislo: "); fflush(stdout);
39  if (1 != scanf("%lf", &dabl)) {
40  //nebo lze pouzit isnan()?
41  fprintf(stderr, "isnan(dabl): %d, spatny fstup, zadej desetinne cislo!\n", isnan(dabl));
42  return EXIT_FAILURE;
43  }
44 //Hmm, bude stacit long na velka double cisla?
45 //nebude!!! je treba kontrola pomoci <limits.h>
46  printf("Cela cast cisla: %g je %li (pomoci (long)typecast)\n", dabl, (long)dabl);
47  printf("Cela cast cisla: %g je %li (pomoci long prirazeni)\n", dabl, l=dabl);
48  printf("Cela cast cisla: %33.3f je %33.3f (pomoci floor math.h)\n", dabl, floor(dabl));
49 
50  return EXIT_SUCCESS;
51 }