Advertisement
patryk

Virtual Keyboard 3++

Nov 8th, 2011
219
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 25.15 KB | None | 0 0
  1. #include <iostream>
  2. #include<dos.h>
  3. #include <conio.h>
  4. #include<stdio.h>
  5. #include<string>
  6. #include<string.h>
  7. #include<windows.h>
  8.  
  9. // --------- DZWIEKI --------- //
  10. #define C 16.35
  11. #define Cis 17.325
  12. #define D 18.35625
  13. #define Dis 19.44375
  14. #define E 20.6
  15. #define F 21.825
  16. #define Fis 23.125
  17. #define G 24.5
  18. #define Gis 25.95625
  19. #define A 27.5
  20. #define B 29.1375
  21. #define H 30.86875
  22. #define C2 32.70625
  23.  
  24.  
  25. // --------- OKTAWY -----------//
  26. #define OK_Sk 1
  27. #define OK_K 2
  28. #define OK_W 4
  29. #define OK_M 8
  30. #define OK_R 16
  31. #define OK_D 32
  32. #define OK_T 64
  33. #define OK_C 128
  34. #define OK_P 256
  35. #define OK_S 512
  36.  
  37.  
  38. class keyboard
  39.   {
  40.   public:
  41.         int tempo, Hz, Dzwiek;
  42.         char key, oktawa, dzwiek, wybor, nazwapliku[30];
  43.  
  44.         keyboard();
  45.         void menu();
  46.         void rysuj();
  47.         void naglowek();
  48.         void pomoc();
  49.         void oktawy();
  50.         void graj();
  51.         void nagraj();
  52.         void odtworz();
  53.         void ulubione();
  54.   };
  55. //-----------class keyboard----------------//
  56. keyboard::keyboard()
  57.   {
  58.   clrscr();
  59.   }
  60. //-------------konstruktor---------------//
  61.  
  62. void keyboard::ulubione()
  63.   {
  64.   int i=1;
  65.   char bufor[512];
  66.   clrscr();
  67.   gotoxy(15, 6); textcolor(14); cprintf("Lista Ulubionych Piosenek: ");
  68.   gotoxy(10, 7); textcolor(15); cprintf("_____________________________________________________________");
  69.   FILE *in;
  70.   if ((in = fopen("ulubione.txt", "r"))== NULL)
  71.     {
  72.     fprintf(stderr, "Nie mozna otworzyc pliku.\n");
  73.     }
  74.   else
  75.     {
  76.     while(!feof(in))
  77.       {
  78.       fgets(bufor, 512, in);
  79.       gotoxy(15, 7 + i);
  80.       textcolor(14); cprintf("#%d ", i); textcolor(15); cprintf("%s", bufor);
  81.       i++;
  82.       }
  83.     fclose(in);
  84.   gotoxy(10, 7 + i); textcolor(15); cprintf("_____________________________________________________________");
  85.   gotoxy(15, 8 + i); textcolor(19); cprintf("Nacisnij dowolny klawisz, aby wrocic do "); textcolor(15); cprintf("MENU");
  86.   getch();
  87.   menu();
  88.   menu();
  89.     }
  90.   }
  91.  
  92. //--------------void ulubione--------------//
  93.  
  94. void keyboard::odtworz()
  95.   {
  96.   int o_tempo, o_dzwiek, o_Hz;
  97.   naglowek();
  98.   clrscr();
  99.   gotoxy(27.5,8);
  100.   textcolor(15);cprintf("Odtwarzany plik: ");textcolor(12);cprintf("%s", nazwapliku);
  101.   gotoxy(16, 9);
  102.   textcolor(15);cprintf("__________________________________________________");
  103.   gotoxy(15, 11); textcolor(14);cprintf("Grany dzwiek: ");
  104.   gotoxy(15, 12); textcolor(14);cprintf("Grana oktawa: ");
  105.   gotoxy(15, 13); textcolor(14);cprintf("Tempo: ");
  106.   FILE *in;
  107.   if ((in = fopen(nazwapliku, "r"))== NULL)
  108.     {
  109.     fprintf(stderr, "Nie mozna otworzyc pliku.\n");
  110.     }
  111.   else
  112.     {
  113.     while(feof(in)==0)
  114.       {
  115.       Sleep(100);
  116.       fscanf(in, "%d", &o_dzwiek);
  117.       fscanf(in, "%d", &o_Hz);
  118.       fscanf(in, "%d", &o_tempo);
  119.       gotoxy(29, 11); textcolor(15); cprintf("%d", o_dzwiek);
  120.       gotoxy(29, 12); textcolor(15); cprintf("%d", o_Hz);
  121.       gotoxy(22, 13); textcolor(15); cprintf("%d", o_tempo);
  122.       Beep(o_dzwiek * o_Hz, o_tempo);
  123.       }
  124.     fclose(in);
  125.     }
  126.   gotoxy(15, 16); textcolor(15); cprintf("___________________________________________________");
  127.   gotoxy(15, 17); textcolor(19); cprintf("Odtworz ponownie utwor: "); textcolor(15); cprintf("F1");
  128.   gotoxy(15, 18); textcolor(19); cprintf("Dodaj utwor do ulubionych: "); textcolor(15); cprintf("F2");
  129.   gotoxy(15, 19); textcolor(19); cprintf("Wroc do Menu: "); textcolor(15); cprintf("F3");
  130.   do{
  131.   key=getch();
  132.   gotoxy(15, 21);
  133.   printf("                         ");
  134.   switch(key)
  135.         {
  136.         case 59:
  137.                 {
  138.                 odtworz();
  139.                 break;
  140.                 }
  141.         case 60:
  142.                 {
  143.                 FILE *out;
  144.                 if ((out = fopen("ulubione.txt", "at"))== NULL)
  145.                         {
  146.                         fprintf(stderr, "Nie mozna otworzyc pliku.\n");
  147.                         }
  148.                 else
  149.                         {
  150.                         fprintf(out, "\n%s", nazwapliku);
  151.                         fclose(out);
  152.                         }
  153.                 gotoxy(15, 21);
  154.                 textcolor(12); cprintf("Dodano do ulubionych");
  155.                 break;
  156.                 }
  157.         case 61:
  158.                 {
  159.                 menu();
  160.                 menu();
  161.                 break;
  162.                 }
  163.         default:
  164.                 {
  165.                 gotoxy(15, 21);
  166.                 textcolor(11);
  167.                 cprintf("Niewlasciwy wybor");
  168.                 break;
  169.                 }
  170.         }
  171.     }while(key!='qwe');
  172.   }
  173.  
  174. //-------------void odtworz----------//
  175.  
  176. void keyboard::nagraj()
  177.   {
  178.   naglowek();
  179.   rysuj(); // rysowanie klawiszy
  180.   gotoxy(1,16);
  181.   textcolor(15); cprintf("Nazwa pliku: ");
  182.   scanf("%s", nazwapliku);
  183.   gotoxy(14, 16);
  184.   textcolor(14); cprintf("%s", nazwapliku);
  185.  
  186.   do{
  187.     gotoxy(60, 3);
  188.     textcolor(15); cprintf("Tempo: "); textcolor(14); cprintf("%d", tempo);
  189.     gotoxy(60,4);
  190.     textcolor(15); cprintf("Oktawa: ");  textcolor(14); cprintf("%c", oktawa);
  191.     gotoxy(60,5);
  192.     textcolor(15); cprintf("Grany dzwiek: ");textcolor(13); cprintf("%c", dzwiek);
  193.     gotoxy(50, 24);
  194.     textcolor(11);cprintf("Aby wrocic do MENU wcisnij: ");textcolor(14);cprintf("F2");
  195.     gotoxy(60, 6);
  196.     textbackground(12);textcolor(15); cprintf("REC*");textbackground(0);
  197.     key = getch();
  198.     gotoxy(1, 16);
  199.     gotoxy(60, 7);
  200.     printf("                 ");
  201.  
  202.     switch(key)
  203.         {
  204.         case 122:
  205.                         {
  206.                         Dzwiek = C ;
  207.                         Beep(Dzwiek * Hz, tempo);
  208.                         dzwiek = 'C';
  209.                         break;
  210.                         }
  211.         case 115:
  212.                         {
  213.                         Dzwiek = Cis ;
  214.                         Beep(Dzwiek * Hz, tempo);
  215.                         dzwiek = 'C';
  216.                         break;
  217.                         }
  218.         case 120:
  219.                         {
  220.                         Dzwiek = D;
  221.                         Beep(Dzwiek * Hz, tempo);
  222.                         dzwiek = 'D';
  223.                         break;
  224.                         }
  225.         case 100:
  226.                         {
  227.                         Dzwiek = Dis;
  228.                         Beep(Dzwiek * Hz, tempo);
  229.                         dzwiek = 'D';
  230.                         break;
  231.                         }
  232.         case 99:
  233.                         {
  234.                         Dzwiek = E;
  235.                         Beep(Dzwiek * Hz, tempo);
  236.                         dzwiek = 'E';
  237.                         break;
  238.                         }
  239.         case 118:
  240.                         {
  241.                         Dzwiek = F;
  242.                         Beep(Dzwiek * Hz, tempo);
  243.                         dzwiek = 'F';
  244.                         break;
  245.                         }
  246.         case 103:
  247.                         {
  248.                         Dzwiek = Fis;
  249.                         Beep(Dzwiek * Hz, tempo);
  250.                         dzwiek = 'F';
  251.                         break;
  252.                         }
  253.         case 98:
  254.                         {
  255.                         Dzwiek = G;
  256.                         Beep(Dzwiek * Hz, tempo);
  257.                         dzwiek = 'G';
  258.                         break;
  259.                         }
  260.         case 104:
  261.                         {
  262.                         Dzwiek = Gis;
  263.                         Beep(Dzwiek * Hz, tempo);
  264.                         dzwiek = 'G';
  265.                         break;
  266.                         }
  267.         case 110:
  268.                         {
  269.                         Dzwiek = A;
  270.                         Beep(Dzwiek * Hz, tempo);
  271.                         dzwiek = 'A';
  272.                         break;
  273.                         }
  274.         case 106:
  275.                         {
  276.                         Dzwiek = B;
  277.                         Beep(Dzwiek * Hz, tempo);
  278.                         dzwiek = 'B';
  279.                         break;
  280.                         }
  281.         case 109:
  282.                         {
  283.                         Dzwiek = H;
  284.                         Beep(Dzwiek * Hz, tempo);
  285.                         dzwiek = 'H';
  286.                         break;
  287.                         }
  288.         case 44:
  289.                         {
  290.                         Dzwiek = C2;
  291.                         Beep(Dzwiek * Hz, tempo);
  292.                         dzwiek = 'C';
  293.                         break;
  294.                         }
  295.         case 9:
  296.                         {
  297.                         gotoxy(67, 3);
  298.                         printf("         ");
  299.                         gotoxy(67, 3);
  300.                         scanf("%d", &tempo);
  301.                         break;
  302.                         }
  303.         case 49:
  304.                         {
  305.                         Hz = OK_Sk;
  306.                         oktawa = 'S';
  307.                         break;
  308.                         }
  309.         case 50:
  310.                         {
  311.                         Hz = OK_K;
  312.                         oktawa = 'K';
  313.                         break;
  314.                         }
  315.         case 51:
  316.                         {
  317.                         Hz = OK_W;
  318.                         oktawa = 'W';
  319.                         break;
  320.                         }
  321.         case 52:
  322.                         {
  323.                         Hz = OK_M;
  324.                         oktawa = 'M';
  325.                         break;
  326.                         }
  327.         case 53:
  328.                         {
  329.                         Hz = OK_R;
  330.                         oktawa = 'R';
  331.                         break;
  332.                         }
  333.         case 54:
  334.                         {
  335.                         Hz = OK_D;
  336.                         oktawa = 'D';
  337.                         break;
  338.                         }
  339.         case 55:
  340.                         {
  341.                         Hz = OK_T;
  342.                         oktawa = 'T';
  343.                         break;
  344.                         }
  345.         case 56:
  346.                         {
  347.                         Hz = OK_C;
  348.                         oktawa = 'C';
  349.                         break;
  350.                         }
  351.         case 57:
  352.                         {
  353.                         Hz = OK_P;
  354.                         oktawa = 'P';
  355.                         break;
  356.                         }
  357.         case 48:
  358.                         {
  359.                         Hz = OK_S;
  360.                         oktawa = 'S';
  361.                         break;
  362.                         }
  363.        case 96:
  364.                         {
  365.                         oktawy();
  366.                         break;
  367.                         }
  368.         case 60:
  369.                         {
  370.                         menu();
  371.                         menu();
  372.                         break;
  373.                         }
  374.         default:
  375.                         {
  376.                         gotoxy(60, 7);
  377.                         textcolor(11);
  378.                         cprintf("Niewlasciwy wybor");
  379.                         break;
  380.                         }
  381.  
  382.         }
  383.     if(key==122 || key==115 || key==120 || key==100 || key==99 || key==118 || key==103 || key==98|| key==104 || key==110 || key==106 || key==109 || key==44)
  384.       {
  385.       FILE *out;
  386.       if ((out = fopen(nazwapliku, "at"))== NULL)
  387.         {
  388.         fprintf(stderr, "Nie mozna otworzyc pliku.\n");
  389.         }
  390.       else
  391.         {
  392.         fprintf(out, "\n%d", Dzwiek);
  393.         fprintf(out, "\t");
  394.         fprintf(out, "%d", Hz);
  395.         fprintf(out, "\t");
  396.         fprintf(out, "%d", tempo);
  397.         fclose(out);
  398.         }
  399.       }
  400.  
  401.     }while(key!='q');
  402.   }
  403.  
  404. //----------void nagraj-------------//
  405.  
  406. void keyboard::graj()
  407.   {
  408.   int k=2;
  409.   char z;
  410.   rysuj(); // rysowanie klawiszy
  411.   tempo = 0;
  412.   pomoc();
  413.   gotoxy(50, 22);
  414.   textcolor(11);cprintf("Aby ukryc pomoc wcisnij: ");textcolor(14);cprintf("F1");
  415.   do{
  416.     gotoxy(60, 3);
  417.     textcolor(15); cprintf("Tempo: "); textcolor(14); cprintf("%d", tempo);
  418.     gotoxy(60,4);
  419.     textcolor(15); cprintf("Oktawa: ");  textcolor(14); cprintf("%c", oktawa);
  420.     gotoxy(1, 16);
  421.     gotoxy(60,5);
  422.     textcolor(15); cprintf("Grany dzwiek: ");textcolor(13); cprintf("%c", dzwiek);
  423.     gotoxy(1, 16);
  424.     key = getch();
  425.     gotoxy(60, 6);
  426.     printf("                     ");
  427.     switch(key)
  428.     {
  429.         case 122:
  430.                         {
  431.                         Beep(C * Hz, tempo);
  432.                         dzwiek = 'C';
  433.                         break;
  434.                         }
  435.         case 115:
  436.                         {
  437.                         Beep(Cis * Hz, tempo);
  438.                         dzwiek = 'C';
  439.                         break;
  440.                         }
  441.         case 120:
  442.                         {
  443.                         Beep(D * Hz, tempo);
  444.                         dzwiek = 'D';
  445.                         break;
  446.                         }
  447.         case 100:
  448.                         {
  449.                         Beep(Dis * Hz, tempo);
  450.                         dzwiek = 'D';
  451.                         break;
  452.                         }
  453.         case 99:
  454.                         {
  455.                         Beep(E * Hz, tempo);
  456.                         dzwiek = 'E';
  457.                         break;
  458.                         }
  459.         case 118:
  460.                         {
  461.                         Beep(F * Hz, tempo);
  462.                         dzwiek = 'F';
  463.                         break;
  464.                         }
  465.         case 103:
  466.                         {
  467.                         Beep(Fis * Hz, tempo);
  468.                         dzwiek = 'F';
  469.                         break;
  470.                         }
  471.         case 98:
  472.                         {
  473.                         Beep(G * Hz, tempo);
  474.                         dzwiek = 'G';
  475.                         break;
  476.                         }
  477.         case 104:
  478.                         {
  479.                         Beep(Gis * Hz, tempo);
  480.                         dzwiek = 'G';
  481.                         break;
  482.                         }
  483.         case 110:
  484.                         {
  485.                         Beep(A * Hz, tempo);
  486.                         dzwiek = 'A';
  487.                         break;
  488.                         }
  489.         case 106:
  490.                         {
  491.                         Beep(B * Hz, tempo);
  492.                         dzwiek = 'B';
  493.                         break;
  494.                         }
  495.         case 109:
  496.                         {
  497.                         Beep(H * Hz, tempo);
  498.                         dzwiek = 'H';
  499.                         break;
  500.                         }
  501.         case 44:
  502.                         {
  503.                         Beep(C2 * Hz, tempo);
  504.                         dzwiek = 'C';
  505.                         break;
  506.                         }
  507.         case 9:
  508.                         {
  509.                         gotoxy(67, 3);
  510.                         printf("         ");
  511.                         gotoxy(67, 3);
  512.                         scanf("%d", &tempo);
  513.                         break;
  514.                         }
  515.         case 49:
  516.                         {
  517.                         Hz = OK_Sk;
  518.                         oktawa = 'S';
  519.                         break;
  520.                         }
  521.         case 50:
  522.                         {
  523.                         Hz = OK_K;
  524.                         oktawa = 'K';
  525.                         break;
  526.                         }
  527.         case 51:
  528.                         {
  529.                         Hz = OK_W;
  530.                         oktawa = 'W';
  531.                         break;
  532.                         }
  533.         case 52:
  534.                         {
  535.                         Hz = OK_M;
  536.                         oktawa = 'M';
  537.                         break;
  538.                         }
  539.         case 53:
  540.                         {
  541.                         Hz = OK_R;
  542.                         oktawa = 'R';
  543.                         break;
  544.                         }
  545.         case 54:
  546.                         {
  547.                         Hz = OK_D;
  548.                         oktawa = 'D';
  549.                         break;
  550.                         }
  551.         case 55:
  552.                         {
  553.                         Hz = OK_T;
  554.                         oktawa = 'T';
  555.                         break;
  556.                         }
  557.         case 56:
  558.                         {
  559.                         Hz = OK_C;
  560.                         oktawa = 'C';
  561.                         break;
  562.                         }
  563.         case 57:
  564.                         {
  565.                         Hz = OK_P;
  566.                         oktawa = 'P';
  567.                         break;
  568.                         }
  569.         case 48:
  570.                         {
  571.                         Hz = OK_S;
  572.                         oktawa = 'S';
  573.                         break;
  574.                         }
  575.        case 96:
  576.                         {
  577.                         oktawy();
  578.                         break;
  579.                         }
  580.         case 59:
  581.                         {
  582.                         if(k%2!=0)
  583.                                 {
  584.                                 pomoc();
  585.                                 gotoxy(50, 22);
  586.                                 textcolor(11);cprintf("Aby ukryc pomoc wcisnij: ");textcolor(14);cprintf("F1    ");
  587.                                 }
  588.                         else
  589.                                 {
  590.                                 gotoxy(1,16);
  591.                                 for(int i=0; i<9;i++)
  592.                                         {
  593.                                         printf("                                               \n");
  594.                                         }
  595.                                 gotoxy(50, 22);
  596.                                 textcolor(11);cprintf("Aby zobaczyc pomoc wcisnij: ");textcolor(14);cprintf("F1");
  597.                                 }
  598.                         k++;
  599.                         break;
  600.                         }
  601.         case 60:
  602.                         {
  603.                         menu();
  604.                         menu();
  605.                         break;
  606.                         }
  607.         case 61:
  608.                         {
  609.                         if(oktawa==0)
  610.                                 {
  611.                                 gotoxy(60, 6);
  612.                                 textcolor(12);cprintf("Oktawa jest pusta");
  613.                                 break;
  614.                                 }
  615.                         if(tempo==0)
  616.                                 {
  617.                                 gotoxy(60, 6);
  618.                                 textcolor(12);cprintf("Tempo jest puste");
  619.                                 break;
  620.                                 }
  621.                         nagraj();
  622.                         }
  623.         default:
  624.                         {
  625.                         gotoxy(60, 6);
  626.                         textcolor(11);
  627.                         cprintf("Niewlasciwy wybor");
  628.                         break;
  629.                         }
  630.  
  631.         }
  632.         if(oktawa==0)
  633.                 {
  634.                 gotoxy(60, 6);
  635.                 textcolor(12);cprintf("Oktawa jest pusta");
  636.  
  637.                 }
  638.         if(tempo==0)
  639.                 {
  640.                 gotoxy(60, 6);
  641.                 textcolor(12);cprintf("Tempo jest puste ");
  642.  
  643.                 }
  644.     }while(key!='qwe');
  645.  
  646.   }
  647.  
  648. //-----------void graj---------------//
  649.  
  650. void keyboard::oktawy()
  651.   {
  652.   Hz = 0;
  653.   gotoxy(68, 4);
  654.   printf("           ");
  655.   gotoxy(68,4);
  656.   scanf("%c", &oktawa);
  657.   scanf("%c", &oktawa);
  658.   textbackground(16);
  659.   switch(oktawa)
  660.         {
  661.         case 'sk':
  662.         case 'SK':
  663.         case 'Sk':
  664.         case 'sK':
  665.         case '1':
  666.                 {
  667.                 Hz = OK_Sk;
  668.  
  669.                 break;
  670.                 }
  671.         case 'k':
  672.         case 'K':
  673.         case '2':
  674.                 {
  675.                 Hz = OK_K;
  676.                 break;
  677.                 }
  678.         case  'w':
  679.         case  'W':
  680.         case '3':
  681.                 {
  682.                 Hz = OK_W;
  683.  
  684.                 break;
  685.                 }
  686.         case  'm':
  687.         case  'M':
  688.         case '4':
  689.                 {
  690.                 Hz = OK_M;
  691.  
  692.                 break;
  693.                 }
  694.         case  'r':
  695.         case  'R':
  696.         case '5':
  697.                 {
  698.                 Hz = OK_R;
  699.  
  700.                 break;
  701.                 }
  702.         case  'd':
  703.         case  'D':
  704.         case '6':
  705.                 {
  706.                 Hz = OK_D;
  707.  
  708.                 break;
  709.                 }
  710.         case  't':
  711.         case  'T':
  712.         case '7':
  713.                 {
  714.                 Hz = OK_T;
  715.  
  716.                 break;
  717.                 }
  718.         case  'c':
  719.         case  'C':
  720.         case '8':
  721.                 {
  722.                 Hz = OK_C;
  723.  
  724.                 break;
  725.                 }
  726.         case  'p':
  727.         case  'P':
  728.         case '9':
  729.                 {
  730.                 Hz = OK_P;
  731.  
  732.                 break;
  733.                 }
  734.         case  's':
  735.         case  'S':
  736.         case '0':
  737.                 {
  738.                 Hz = OK_S;
  739.  
  740.                 break;
  741.                 }
  742.         default :
  743.                 {
  744.                 menu();
  745.                 break;
  746.                 }
  747.         }
  748.   }
  749.  
  750. //----------void oktawy-----------//
  751.  
  752. void keyboard::pomoc()
  753.   {
  754.   gotoxy(1, 16);
  755.   textcolor(15); cprintf("Aby zmienic tempo wcisnij: ");textcolor(14); cprintf("TAB");
  756.   gotoxy(1, 17);
  757.   textcolor(15); cprintf("Aby zmienic oktawe wcisnij: ");textcolor(14); cprintf("TYLDA");
  758.   gotoxy(1, 18);
  759.   textcolor(13); cprintf("Badz, ");
  760.   gotoxy(1, 19);
  761.   textcolor(15); cprintf("Wcisnij jeden z klawiszy: ");
  762.   gotoxy(1, 20);
  763.   textcolor(14); cprintf("1 - Subkontra");
  764.   gotoxy(20, 20);
  765.   cprintf("2 - Kontra");
  766.   gotoxy(1, 21);
  767.   cprintf("3 - Wielka");
  768.   gotoxy(20, 21);
  769.   cprintf("4 - Mala");
  770.   gotoxy(1, 22);
  771.   cprintf("5 - Razkreslna");
  772.   gotoxy(20, 22);
  773.   cprintf("6 - Dwukreslna");
  774.   gotoxy(1, 23);
  775.   cprintf("7 - Trzykreslna");
  776.   gotoxy(20, 23);
  777.   cprintf("8 - Czterokreslna");
  778.   gotoxy(1, 24);
  779.   cprintf("9 - Pieciokreslna");
  780.   gotoxy(20, 24);
  781.   cprintf("0 - Szesckreslna");
  782.   gotoxy(50, 24);
  783.   textcolor(11);cprintf("Aby zapisac dzwiek wcisnij: ");textcolor(14);cprintf("F3");
  784.   gotoxy(50, 23);
  785.   textcolor(11);cprintf("Aby wrocic do MENU wcisnij: ");textcolor(14);cprintf("F2");
  786.   }
  787.  
  788. //---------void pomoc-------------//
  789.  
  790. void keyboard::naglowek()
  791.   {
  792.   clrscr();
  793.   gotoxy(1,1);
  794.   textcolor(12); textbackground(3); cprintf("       VIRTUAL KEYBOARD                                                         ");
  795.   textbackground(0);
  796.   }
  797.  
  798. //------------void naglowek----------//
  799.  
  800. void keyboard::rysuj()
  801.   {
  802.   clrscr();
  803.   gotoxy(1,1);
  804.   textcolor(12);
  805.   textbackground(3);
  806.   cprintf("       VIRTUAL KEYBOARD                                                         ");
  807. printf(" _______________________________________________________\n");
  808. printf("|     |   |   |   |     |     |   |   |   |   |   | |\n");
  809. printf("|     |   |   |   |     |     |   |   |   |   |   | |\n");
  810. printf("|     |   |   |   |     |     |   |   |   |   |   | |\n");
  811. printf("|     |   |   |   |     |     |   |   |   |   |   | |\n");
  812. printf("|     | S |   | D |     |     | G |   | H |   | J | |\n");
  813. printf("|     |   |   |   |     |     |   |   |   |   |   | |\n");
  814. printf("|     |___|   |___|     |     |___|   |___|   |___| |\n");
  815. printf("|   |   |   |   |   |   |   |\n");
  816. printf("|       |   |   |   |   |   |   |\n");
  817. printf("|   Z   |   X   |   V   |   B   |   N   |   M   |   <   |\n");
  818. printf("|   |   |   |   |   |   |   |\n");
  819. printf("|_______|_______|_______|_______|_______|_______|_______|\n");
  820.   textbackground(16);
  821.   }
  822.  
  823. //-----------void rysuj--------------//
  824.  
  825. void keyboard::menu()
  826.   {
  827.   naglowek();
  828.   gotoxy(1,3);
  829.   textcolor(15); cprintf("Co chcesz zrobic: ");
  830.   gotoxy(1, 4);
  831.   textcolor(14); cprintf("* G - Grac na Instrumencie");
  832.   gotoxy(1, 5);
  833.   textcolor(14); cprintf("* U - Zobaczyc Ulubione");
  834.   gotoxy(1,6);
  835.   textcolor(14);cprintf("* O - Odtworzyc Utwor");
  836.   gotoxy(1,7);
  837.   textcolor(14); cprintf("* Q - Wylaczyc Program");
  838.   gotoxy(1, 8);
  839.   printf(": ");
  840.   scanf("%c", &wybor);
  841.   switch(wybor)
  842.         {
  843.         case 'g':
  844.         case 'G':
  845.                 {
  846.                 graj();
  847.                 break;
  848.                 }
  849.         case 'u':
  850.         case 'U':
  851.                 {
  852.                 ulubione();
  853.                 break;
  854.         case 'o':
  855.         case 'O':
  856.                 {
  857.                 gotoxy(1,9);
  858.                 textcolor(15); cprintf("Nazwa pliku: ");
  859.                 scanf("%s", nazwapliku);
  860.                 odtworz();
  861.                 }
  862.         case 'q':
  863.         case 'Q':
  864.                 {
  865.                 exit(0);
  866.                 }
  867.                 }
  868.         }
  869. }
  870.  
  871. //--------void menu------------//
  872.  
  873. int main()
  874.   {
  875.   //------------------OKNO STARTOWE-------------------------//
  876.   char znaki[40]="-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/";
  877.   gotoxy(26,2);
  878.   textcolor(8);
  879.   cprintf("\n       VIRTUAL KEYBOARD");
  880.   gotoxy(27.5,10);
  881.   textcolor(3);
  882.   cprintf("\nWykonanie: Patryk Gliszczynski\n");
  883.   gotoxy(20, 16);
  884.   printf("|__________________________________________|");
  885.   gotoxy(20,17);
  886.   printf("|                                          |");
  887.   for(int i=0;i<20;i++)
  888.     {
  889.     gotoxy(30.5,13);
  890.     textcolor(3);
  891.     cprintf("     Loading... %c",znaki[i]);
  892.     Sleep(100);
  893.     }
  894.   keyboard instrument;
  895.   instrument.menu();
  896.   }
  897.  
  898.  
  899.  
  900.  
  901.  
  902.  
  903.  
  904.  
  905.  
  906.  
  907.  
  908.  
  909.  
  910.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement