Advertisement
Guest User

Kononowicz Kurwa

a guest
Jan 22nd, 2018
56
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 4.92 KB | None | 0 0
  1. //funkcje_01.c - program pokazujacy dzialanie funkcji
  2. #include <stdio.h>
  3. #include <stdlib.h>
  4. #include <conio.h>
  5.  
  6. void print_menu()
  7. {
  8.     printf("PROGRAM (FUNKCJE)\n\n");
  9.     printf("1. Wyswietl linie\n");
  10.     printf("2. Wyswietl linie wysrodkowana\n");
  11.     printf("3. Wyswietl prostokat z dolarow\n");
  12.     printf("4. Wyswietl kwadrat wysrodkowany\n");
  13.     printf("5. Wyswietl trojkat z gwiazdek\n");
  14.     printf("6. Wyswietl choinke\n");
  15.     printf("7. Koniec\n\n");
  16.     printf("Twoj wybor: ");
  17. }
  18.  
  19. void print_line(int dlugosc2, char znak2)
  20. {
  21.     int i;
  22.     for (i=1; i<=dlugosc2; i++) printf("%c", znak2);
  23. }
  24.  
  25. void print_line_centered(int szerokosc_e2, int dlugosc2, char znak2)
  26. {
  27.     int i, j;
  28.     szerokosc_e2=(szerokosc_e2/2)-(dlugosc2/2);
  29.     for (i=1; i<=szerokosc_e2; i++) printf(" ");
  30.     for (j=1; j<=dlugosc2; j++) printf("%c", znak2);
  31. }
  32.  
  33. void print_rectangle(int wysokosc2, int szerokosc2)
  34. {
  35.     int i;
  36.     for(i=1; i<=wysokosc2; i++)
  37.     {
  38.        print_line(szerokosc2, '$');
  39.        printf("\n");
  40.     }
  41. }
  42.  
  43. void print_square(int szerokosc_e2, int dlugosc2, char znak2)
  44. {
  45.     int i;
  46.     for(i=1; i<=dlugosc2; i++)
  47.     {
  48.        print_line_centered(szerokosc_e2, dlugosc2, znak2);
  49.        printf("\n");
  50.     }
  51. }
  52.  
  53. void print_triangle(int szerokosc_e2)
  54. {
  55.     int i, j=1;
  56.     if(szerokosc_e2%2==0) j=2;
  57.     for(i=1; i<=szerokosc_e2; i++)
  58.     {
  59.        if(j<=szerokosc_e2)
  60.        {
  61.           print_line_centered(szerokosc_e2, j, '*');
  62.           if(j<=szerokosc_e2)printf("\n");
  63.        }
  64.         j=j+2;
  65.     }
  66. }
  67.  
  68. void print_christmas_tree(int szerokosc_e2, int ile_trojkatow2)
  69. {
  70.     int i;
  71.     for(i=1; i<=ile_trojkatow2; i++)
  72.     {
  73.        print_triangle(szerokosc_e2);
  74.     }
  75.     if(szerokosc_e2%2==0) print_square(szerokosc_e2, 10, '*');
  76.     if(szerokosc_e2%2==1) print_square(szerokosc_e2, 9, '*');
  77.  
  78. }
  79.  
  80. int main()
  81. {
  82.  
  83.     int wybor, szerokosc_e;
  84.     do
  85.     {
  86.         system("cls");
  87.         print_menu();
  88.         scanf("%d", &wybor);
  89.         switch(wybor)
  90.         {
  91.             case 1:
  92.             {
  93.                 int dlugosc;
  94.                 char znak;
  95.                 system("cls");
  96.                 printf("Podaj dlugosc: ");
  97.                 scanf("%d", &dlugosc);
  98.                 printf("Podaj znak: ");
  99.                 scanf(" %c", &znak);
  100.                 printf("\n");
  101.                 print_line(dlugosc, znak);
  102.                 printf("\n");
  103.                 getch();
  104.                 break;
  105.             }
  106.  
  107.             case 2:
  108.             {
  109.                 int dlugosc;
  110.                 char znak;
  111.                 system("cls");
  112.                 printf("Podaj szerokosc ekranu: ");
  113.                 scanf("%d", &szerokosc_e);
  114.                 printf("Podaj dlugosc: ");
  115.                 scanf("%d", &dlugosc);
  116.                 printf("Podaj znak: ");
  117.                 scanf(" %c", &znak);
  118.                 printf("\n");
  119.                 print_line_centered(szerokosc_e, dlugosc, znak);
  120.                 printf("\n");
  121.                 getch();
  122.                 break;
  123.             }
  124.  
  125.             case 3:
  126.             {
  127.                 int wysokosc, szerokosc;
  128.                 system("cls");
  129.                 printf("Podaj wysokosc: ");
  130.                 scanf("%d", &wysokosc);
  131.                 printf("Podaj szerokosc: ");
  132.                 scanf("%d", &szerokosc);
  133.                 printf("\n");
  134.                 print_rectangle(wysokosc, szerokosc);
  135.                 getch();
  136.                 break;
  137.             }
  138.  
  139.             case 4:
  140.             {
  141.                 int dlugosc;
  142.                 char znak;
  143.                 system("cls");
  144.                 printf("Podaj szerokosc ekranu: ");
  145.                 scanf("%d", &szerokosc_e);
  146.                 printf("Podaj dlugosc boku: ");
  147.                 scanf("%d", &dlugosc);
  148.                 printf("Podaj znak: ");
  149.                 scanf(" %c", &znak);
  150.                 printf("\n");
  151.                 print_square(szerokosc_e, dlugosc, znak);
  152.                 printf("\n");
  153.                 getch();
  154.                 break;
  155.             }
  156.  
  157.             case 5:
  158.             {
  159.                 system("cls");
  160.                 printf("Podaj szerokosc ekranu: ");
  161.                 scanf("%d", &szerokosc_e);
  162.                 printf("\n");
  163.                 print_triangle(szerokosc_e);
  164.                 printf("\n");
  165.                 getch();
  166.                 break;
  167.             }
  168.  
  169.             case 6:
  170.             {
  171.                 int ile_trojkatow;
  172.                 system("cls");
  173.                 printf("Podaj szerokosc ekranu: ");
  174.                 scanf("%d", &szerokosc_e);
  175.                 printf("Podaj ilosc trojkatow: ");
  176.                 scanf("%d", &ile_trojkatow);
  177.                 printf("\n");
  178.                 print_christmas_tree(szerokosc_e, ile_trojkatow);
  179.                 printf("\n");
  180.                 getch();
  181.                 break;
  182.             }
  183.  
  184.             default: break;
  185.         }
  186.       } while(wybor!=7);
  187.  
  188.     return 0;
  189. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement