c-programming

Simple C programs
git clone git://git.laack.co/c-programming.git
Log | Files | Refs

fahrenheit2.c (827B)


      1 #include <stdio.h>
      2 #include <stdlib.h>
      3 
      4 #define FALLBACK_LOWER 0
      5 #define FALLBACK_UPPER 100
      6 #define FALLBACK_STEP 10
      7 
      8 float celsius(int fahr){
      9     return (fahr - 32) * (5.0 / 9.0);
     10 }
     11 
     12 
     13 int main(int argc, char** argv){
     14 
     15 
     16     int lower, upper, step;
     17 
     18     lower = FALLBACK_LOWER;
     19     upper = FALLBACK_UPPER;
     20     step = FALLBACK_STEP;
     21 
     22     if (argc >= 2){
     23         lower = atoi(argv[1]);
     24     }
     25     if (argc >= 3){
     26         upper = atoi(argv[2]);
     27     }
     28     if (argc >= 4){
     29         step = atoi(argv[3]);
     30     }
     31     if (argc >= 5){
     32         printf("Too many arguments. Usage: fahr {lower} {upper} {step}\n");
     33         return -1;
     34     }
     35 
     36     if (step <= 0){
     37         printf("Positive steps only\n");
     38         return -1;
     39     }
     40 
     41     for(int fahr = lower; fahr < upper ; fahr += step){
     42         printf("%5d %6.1f\n", fahr, celsius(fahr));
     43     }
     44 }