Atheuz

Untitled

Sep 21st, 2011 (edited)
207
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.49 KB | None | 0 0
  1. /*
  2.  *  Dato: 17-09-2011
  3.  *  Kursus: Imperativ Programming
  4.  *  Underviser: Kurt Nørmark
  5.  *  Opgave: http://people.cs.aau.dk/~normark/impr-c/control-conditional-exp-slide-exercise-1.html
  6.  */
  7.  
  8. #include <stdio.h>
  9.  
  10. #define SEC_PER_HOUR 3600
  11. #define SEC_PER_MIN 60
  12.  
  13. int main()
  14. {
  15.     // Initialiser variabler
  16.     int total_seconds, rest, hours, minutes, seconds;
  17.  
  18.     // Få antal sekunder
  19.     printf("Skriv et positivt antal sekunder: ");
  20.     scanf("%d", &total_seconds);
  21.  
  22.     // Lav udregningerne.
  23.     hours = total_seconds / SEC_PER_HOUR;
  24.     rest = total_seconds % SEC_PER_HOUR;
  25.     minutes = rest / SEC_PER_MIN;
  26.     seconds = rest % SEC_PER_MIN;
  27.  
  28.     // I det tilfælde at vores antal sekunder er enten negativt eller nul stopper programmet.
  29.     if(total_seconds <= 0)
  30.     {
  31.         printf("Ikke godkendt.");
  32.         return 0;
  33.     }
  34.  
  35.     if(hours > 0)
  36.     {
  37.         // Brug af ternær operator kan skære antal linjer ned, og så er de anerledes
  38.         printf("%d %s", hours, (hours > 1 ? "timer" : "time"));
  39.  
  40.         if(minutes > 0 || seconds > 0)
  41.         {
  42.             printf("%s", (minutes > 0 && seconds > 0) ? ", " : " og ");
  43.         }
  44.     }
  45.  
  46.     if(minutes > 0)
  47.     {
  48.         printf("%d %s", minutes, (minutes > 1 ? "minutter" : "minut"));
  49.         if(seconds > 0)
  50.         {
  51.             printf(" og ");
  52.         }
  53.     }
  54.  
  55.     if(seconds > 0)
  56.     {
  57.         printf("%d %s", seconds, (seconds > 1 ? "sekunder" : "sekund"));
  58.     }
  59.  
  60.     // Afslut.
  61.     return 0;
  62. }
Add Comment
Please, Sign In to add comment