Advertisement
m4ly

[POLSL][PK] LAB_1

Mar 23rd, 2014
133
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 4.05 KB | None | 0 0
  1. /*
  2. PK LAB 1
  3.  
  4. Dawid Mocek
  5. */
  6. #include <stdio.h>
  7. #include <stdlib.h>
  8. #include <math.h>
  9. #include <time.h>
  10.  
  11.  
  12.  
  13.  
  14. int main(void) {
  15.  
  16. int l, a, b, c, day, month, year, delta, x1, x2;
  17.  
  18. int day_now = 23;
  19. int mth_now = 2;
  20. int year_now = 2013;
  21.  
  22. struct tm person1;
  23. struct tm person2;
  24. double seconds;
  25.  
  26. /* Part 1 */
  27.  
  28.  
  29. // 1 Wypisz na ekranie dowolny komunikat.
  30.  
  31.  
  32. printf("Part 1\n");
  33. printf("Msg\n");
  34.  
  35. // 2 Poproœ użytkownika o podanie dowolnej liczby. Wypisz podanš liczbę na ekranie.
  36.  
  37.  
  38. printf("Give number: ");
  39. scanf("%d", &l);
  40. printf("You wrote: %d\n", l);
  41.  
  42. // 3 Poproœ użytkownika o podanie daty urodzenia i wypisz na ekranie jego wiek.
  43.  
  44.  
  45. printf("Date of born(dd-mm-YYYY):\n");
  46. scanf("%2d-%2d-%4d", &day, &month, &year);
  47. printf("Your age is: %d\n", ( 2013-year ));
  48.  
  49. /* Part 2 */
  50.  
  51. printf("Part 2\n");
  52.  
  53. // 1  Poproœ użytkownika o podanie daty urodzenia i wypisz, czy obchodził już w tym roku urodziny.
  54.  
  55.  
  56. printf("Date of born(dd-mm-YYYY):\n");
  57. scanf("%2d-%2d-%4d", &day, &month, &year);
  58.  
  59. if( ( mth_now > month ) && ( day_now > day )) {
  60.  printf("Obchodziles juz urodziny!\n");
  61. }
  62. else {
  63.     printf("Jeszcze nie miales urodzin\n");
  64. }
  65.  
  66.  
  67. // 2  Poproœ użytkownika o podanie dwóch dowolnych liczb i wypisz większš z nich.
  68.  
  69.  
  70. printf("Compare numbers\n");
  71.  
  72. printf("First number:\n");
  73. scanf("%d", &a);
  74.  
  75. printf("Second number:\n");
  76. scanf("%d", &b);
  77.  
  78. a >= b ? printf("a >= b\n") : printf("b < a\n");
  79.  
  80.  
  81. /* Part 3 */
  82.  
  83. // 1 Napisz program, który wypisze liczby z zakresu podanego przez użytkownika.
  84.  
  85.  
  86. printf("Range\n");
  87. printf("Min:\n");
  88. scanf("%d", &a);
  89.  
  90. printf("Max:\n");
  91. scanf("%d", &b);
  92.  
  93. if ( a <= b ) {
  94.  
  95.     while(a <= b) {
  96.         printf("%d\n", a);
  97.         a++;
  98.     }
  99. }
  100. else {
  101.     printf("Error: Min > Max !\n");
  102. }
  103.  
  104. // 2 Napisz program, który będzie prosił użytkownika o podanie dowolnej liczby tak długo, aż ten nie poda liczby parzystej.
  105.  
  106.  
  107.  
  108. printf("Liczba parzysta = koniec\n");
  109. a = 1;
  110. while(true) {
  111.     if( a % 2 == 0) break;
  112.     scanf("%d", &a);
  113.    
  114. }
  115.  
  116.  
  117.  
  118. /* Part 4 */
  119. /*
  120. Napisz program, który będzie znajdował pierwiastki równania kwadratowego.
  121.  
  122. Równanie kwadratowe dane jest wzorem ax^2 + bx + c = 0.
  123. W celu obliczenia pierwiastków, należy policzyć deltę = b^2 – 4ac.
  124. Jeżeli delta jest dodatnia istniejš dwa miejsca zerowe x1/2 = (-b –/+ sqrt(delta))/2a.
  125. Jeżeli delta ma wartoœć zero istnieje jedno miejsce zerowe x = -b/2a
  126. */
  127.  
  128. l = 1;
  129. while(l != 0) {
  130.  
  131.     printf("\nQuadratic equation - ax^2 + bx + c = 0\n");
  132.  
  133.     printf("Factor a = ");
  134.     scanf("%d", &a);
  135.  
  136.     printf("Facrot b = ");
  137.     scanf("%d", &b);
  138.  
  139.     printf("Factor c = ");
  140.     scanf("%d", &c);
  141.  
  142.     if ( a == 0 ) {
  143.         printf("Equation is not quadratic !");
  144.     }
  145.     else {
  146.         delta = (b * b) - (4 * a * c) ;
  147.         printf("\tDelta = %d\n", delta);
  148.         if( delta > 0 ) {
  149.            
  150.             x1 = ((-b) + sqrt((double)delta) ) / ( 2 * a );
  151.             x2 = ((-b) - sqrt((double)delta) ) / ( 2 * a );
  152.            
  153.             printf("\t\tDelta > 0 so x1 = %d && x2 = %d\n\n", x1, x2);
  154.  
  155.         }
  156.         else if( delta == 0 ) {
  157.             x1 = ( (-b) / (2 * a));
  158.             printf("\t\tDelta = 0 so x = %d\n\n", x1);
  159.         }
  160.         else {
  161.         printf("\t\tDelta < 0, void result\n\n");
  162.         }
  163.    
  164.     }
  165.     printf(" 0 - exit ; 1 - continue .\n ");
  166.     printf("Your choice: ");
  167.     scanf("%d", &l);
  168. }
  169.  
  170.  
  171.  
  172.  
  173. // Dariusz Myszor - ekstra zadanko
  174.  
  175.  
  176. // Pobierz dwie daty: Prównaj je i pokaż róznice. (Zadanie nie sprawdzone calkwocie)
  177.  
  178.  
  179.  
  180.  
  181. printf("Data urodzenia osobnika pierwszego ( dd-mm-YYYY ) \n");
  182.  
  183. scanf("%2d-%2d-%4d", &day, &month, &year);
  184.  
  185. person1.tm_mday = day;
  186. person1.tm_year = year - 1900;
  187. person1.tm_mon = month - 1;
  188. person1.tm_hour = 0;
  189. person1.tm_min = 0;
  190. person1.tm_sec = 0;
  191. printf("Data urodzenia osobnika drugiego ( dd-mm-YYYY ) \n");
  192.  
  193. scanf("%2d-%2d-%4d", &day, &month, &year);
  194.  
  195. person2.tm_mday = day;
  196. person2.tm_year = year - 1900;
  197. person2.tm_mon = month - 1;
  198. person2.tm_hour = 0;
  199. person2.tm_min = 0;
  200. person2.tm_sec = 0;
  201.  
  202.  
  203. seconds = difftime(mktime(&person1),mktime(&person2));
  204.  
  205. printf ("%.f godzin roznicy\n", seconds/3600);
  206.  
  207.  
  208. system("PAUSE");
  209.  
  210.  
  211. return 0;
  212.  
  213. }
  214. syntax highlighted by Code2HTML, v. 0.9.1
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement