Advertisement
Wojtekd

LAB 10

May 12th, 2015
258
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.27 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. struct point
  5. {
  6.     int x, y;
  7. };
  8.  
  9. typedef struct point point;
  10. typedef struct point * point_ptr;
  11.  
  12. typedef int my_type;
  13.  
  14. union rozklad
  15. {
  16.     int liczba;
  17.     unsigned char bajt[4];
  18. };
  19.  
  20. struct OpcjeZakupu_v2
  21. {
  22.     unsigned char Radio : 1;
  23.     unsigned char ElektryczneSzyby : 1;
  24.     unsigned char ElektryczneLusterka : 1;
  25.     unsigned char Klimatyzacja : 1;
  26. };
  27.  
  28. enum DniTygodnia { pon, wt, sr, czw, pt, sob, niedz };
  29.  
  30. enum OpcjeZakupu
  31. {
  32.     Radio = 1,
  33.     ElektryczneSzyby = 2,
  34.     ElektryczneLusterka = 4,
  35.     Klimatyzacja = 8
  36. };
  37.  
  38. void sprawdz_opcje_auta(OpcjeZakupu opcje)
  39. {
  40.     if(opcje & Radio) printf("radio\n");
  41.     if(opcje & ElektryczneSzyby) printf("elektryczne szyby\n");
  42.     if(opcje & ElektryczneLusterka) printf("elektryczne lusterka\n");
  43.     if(opcje & Klimatyzacja) printf("klimatyzacja\n");
  44. }
  45. void sprawdz_opcje_auta_v2(OpcjeZakupu_v2 opcje)
  46. {
  47.     if(opcje.Radio) printf("radio\n");
  48.     if(opcje.ElektryczneSzyby) printf("elektryczne szyby\n");
  49.     if(opcje.ElektryczneLusterka) printf("elektryczne lusterka\n");
  50.     if(opcje.Klimatyzacja) printf("klimatyzacja\n");
  51. }
  52.  
  53. int main( int argc, char** argv )
  54. {
  55.     enum OpcjeZakupu zakup = Radio | Klimatyzacja | ElektryczneSzyby;
  56.     struct OpcjeZakupu_v2 zakup_v2 = { .Radio = 1, .ElektryczneSzyby = 0, .ElektryczneLusterka = 0, .Klimatyzacja = 1 };
  57.    
  58.    
  59.     sprawdz_opcje_auta(zakup);
  60.     sprawdz_opcje_auta_v2(zakup_v2);
  61.  
  62.  
  63.     /* zadanie 3
  64.     DniTygodnia dzien = pon;
  65.     scanf("%d",&dzien);
  66.    
  67.     switch(dzien)  
  68.     {
  69.         case pon:
  70.         {
  71.             printf("poniedzialek");
  72.             break;
  73.         }
  74.         case wt:
  75.         {
  76.             printf("wtorek");
  77.             break;
  78.         }
  79.         case sr:
  80.         {
  81.             printf("sroda");
  82.             break;
  83.         }
  84.         case czw:
  85.         {
  86.             printf("czwartek");
  87.             break;
  88.         }
  89.         case pt:
  90.         {
  91.             printf("piatek");
  92.             break;
  93.         }
  94.         case sob:
  95.         {
  96.             printf("sobota");
  97.             break;
  98.         }
  99.         case niedz:
  100.         {
  101.             printf("niedziela");
  102.             break;
  103.         }
  104.         default:
  105.         {
  106.             break;
  107.         }
  108.     }
  109.     */
  110.  
  111.     /* zadanie 2
  112.     rozklad r;
  113.     //r.liczba = 1027;
  114.    
  115.     r.bajt[0] = 192;
  116.     r.bajt[1] = 168;
  117.     r.bajt[2] = 1;
  118.     r.bajt[3] = 1;
  119.    
  120.     printf("%d.%d.%d.%d",r.bajt[0],r.bajt[1],r.bajt[2],r.bajt[3]);
  121.     */
  122.    
  123.     /* zadanie 1
  124.     point p = {3,4};
  125.     point_ptr pPoint = &p;
  126.     my_type mt = 5;
  127.     printf("point:%d,%d\tpoint_ptr:%p\tmy_type:%d\n",p.x,p.y,pPoint,mt);   
  128.     */
  129.    
  130.     return 0;
  131. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement