Advertisement
patryk

Virtual Keyboard 100%

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