Guest User

Untitled

a guest
Aug 18th, 2018
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 5.75 KB | None | 0 0
  1. #include<iostream>
  2. #include<string>
  3. using namespace std;
  4.  
  5. class chord
  6. {
  7. public:
  8.   string Name;
  9.   string Chart;
  10.   char chordBase;
  11.   void ShowObject();
  12. };
  13.  
  14. class fav : private chord
  15. {
  16. public:
  17.   void ShowFav();
  18.   void CopyChord(int id);
  19. };
  20.  
  21. #include "chordtab.h"
  22. fav* faves[148];
  23. int favcount=0;
  24.  
  25. void chord::ShowObject()
  26. {
  27.   cout<<"\t"<<Name<<endl<<Chart<<endl;
  28. }
  29.  
  30. void fav::ShowFav()
  31. {
  32.   ShowObject();
  33. }
  34.  
  35. void fav::CopyChord(int id)
  36. {
  37.     Name=chords[id].Name;
  38.     Chart=chords[id].Chart;
  39.     chordBase=chords[id].chordBase;
  40. }
  41.  
  42. void MainMenu();
  43. void SelectMenu();
  44. void SearchMenu();
  45. void Favorite(int id);
  46. void ShowFaves();
  47. void Info();
  48.  
  49.  
  50. //////////////////////////////////////////////
  51.  
  52. int main()
  53. {
  54. MainMenu();
  55. return 0;
  56. }
  57.  
  58. ///////////////////////////////////////////////
  59.  
  60. void MainMenu()
  61. {
  62. cout << string(50, '\n');
  63. cout<<"Chwytak v0.15\n\nMenu glowne:\n1. Wyswietl chwyty\n2. Wyszukaj/dodaj do ulubionych\n3. Wyswietl ulubione\n4. Informacje\n5. Wyjscie\n\n";
  64. //fflush(stdin);
  65. char x;
  66. cin.get(x);
  67. if(x>='1'&&x<='5')
  68. {
  69. switch(x)
  70. {
  71. case '1':
  72.     SelectMenu();
  73.     break;
  74. case '2':
  75.     SearchMenu();
  76.     break;
  77. case '3':
  78.      ShowFaves();
  79.      break;
  80. case '4':
  81.     Info();
  82. case '5':
  83.      return;
  84. }
  85. }
  86. else MainMenu();
  87. }
  88.  
  89. ///////////////////////////////////////////////
  90.  
  91. void SelectMenu()
  92. {
  93. cout << string(50, '\n');
  94. cout<<"Wybierz ktore chwyty pokazac:\n1. C\n2. D\n3. E\n4. F\n5. G\n6. A\n7. B\n8. H\n9. Powrot\n\n";
  95. //fflush(stdin);
  96. char x;
  97. cin.get(x);
  98. if(x>='1'&&x<='9')
  99. {
  100. switch(x)
  101. {
  102. case '1':
  103.   {
  104.     for(int y=0;y<=148;y++)
  105.       {
  106.         if(chords[y].chordBase=='C')
  107.         chords[y].ShowObject();
  108.       }
  109.     cout<<"q by wyjsc, dowolny klawisz by powrocic."<<endl;
  110.     //fflush(stdin);
  111.     char z;
  112.     cin>>z;
  113.     if(z=='q')return;
  114.     else SelectMenu();
  115.     break;
  116.   }
  117. case '2':
  118.   {
  119.     for(int y=0;y<=148;y++)
  120.       {
  121.         if(chords[y].chordBase=='D')
  122.         chords[y].ShowObject();
  123.       }
  124.     cout<<"q by wyjsc, dowolny klawisz by powrocic."<<endl;
  125.     //fflush(stdin);
  126.     char z;
  127.     cin>>z;
  128.     if(z=='q')return;
  129.     else SelectMenu();
  130.     break;
  131.   }
  132. case '3':
  133.   {
  134.     for(int y=0;y<=148;y++)
  135.       {
  136.         if(chords[y].chordBase=='E')
  137.         chords[y].ShowObject();
  138.       }
  139.     cout<<"q by wyjsc, dowolny klawisz by powrocic."<<endl;
  140.     //fflush(stdin);
  141.     char z;
  142.     cin>>z;
  143.     if(z=='q')return;
  144.     else SelectMenu();
  145.     break;
  146.   }
  147. case '4':
  148.   {
  149.     for(int y=0;y<=148;y++)
  150.       {
  151.         if(chords[y].chordBase=='F')
  152.         chords[y].ShowObject();
  153.       }
  154.     cout<<"q by wyjsc, dowolny klawisz by powrocic."<<endl;
  155.     //fflush(stdin);
  156.     char z;
  157.     cin>>z;
  158.     if(z=='q')return;
  159.     else SelectMenu();
  160.     break;
  161.   }
  162. case '5':
  163.   {
  164.     for(int y=0;y<=148;y++)
  165.       {
  166.         if(chords[y].chordBase=='G')
  167.         chords[y].ShowObject();
  168.       }
  169.     cout<<"q by wyjsc, dowolny klawisz by powrocic."<<endl;
  170.     //fflush(stdin);
  171.     char z;
  172.     cin>>z;
  173.     if(z=='q')return;
  174.     else SelectMenu();
  175.     break;
  176.   }
  177. case '6':
  178.   {
  179.     for(int y=0;y<=148;y++)
  180.       {
  181.         if(chords[y].chordBase=='A')
  182.         chords[y].ShowObject();
  183.       }
  184.     cout<<"q by wyjsc, dowolny klawisz by powrocic."<<endl;
  185.     //fflush(stdin);
  186.     char z;
  187.     cin>>z;
  188.     if(z=='q')return;
  189.     else SelectMenu();
  190.     break;
  191.   }
  192. case '7':
  193.   {
  194.     for(int y=0;y<=148;y++)
  195.       {
  196.         if(chords[y].chordBase=='B')
  197.         chords[y].ShowObject();
  198.       }
  199.     cout<<"q by wyjsc, dowolny klawisz by powrocic."<<endl;
  200.     //fflush(stdin);
  201.     char z;
  202.     cin>>z;
  203.     if(z=='q')return;
  204.     else SelectMenu();
  205.     break;
  206.   }
  207. case '8':
  208.   {
  209.     for(int y=0;y<=148;y++)
  210.       {
  211.         if(chords[y].chordBase=='H')
  212.         chords[y].ShowObject();
  213.       }
  214.     cout<<"q by wyjsc, dowolny klawisz by powrocic."<<endl;
  215.     //fflush(stdin);
  216.     char z;
  217.     cin>>z;
  218.     if(z=='q')return;
  219.     else SelectMenu();
  220.     break;
  221.   }
  222. case '9':
  223.     MainMenu();
  224.     break;
  225. }
  226. }
  227. else SelectMenu();
  228. }
  229.  
  230. ///////////////////////////////////////////////
  231.  
  232. void SearchMenu()
  233. {
  234. cout << string(50, '\n');
  235. cout<<"Prosze wpisac nazwe chwytu"<<endl;
  236. string x;
  237. int count=0;
  238. int save=0;
  239. cin>>x;
  240. for(int y=0;y<=147;y++)
  241.   {
  242.   if(chords[y].Name==x)
  243.     {
  244.     chords[y].ShowObject();
  245.     count++;
  246.     save=y;
  247.     }
  248.   }
  249. if(count==0)cout<<"\n\nNic nie znaleziono.\n\nq by wyjsc, dowolny klawisz by wyszukac ponownie.\n";
  250. else cout<<"\nf by dodac do ulubionych, q by wyjsc, dowolny klawisz by wyszukac ponownie\n";
  251. char z;
  252. cin>>z;
  253. switch(z)
  254.   {
  255.   case 'f':
  256.     Favorite(save);
  257.   case 'q':
  258.     MainMenu();
  259.     break;
  260.   default:
  261.     SearchMenu();
  262.   break;
  263.   }
  264. }
  265.  
  266. //////////////////////////////////////
  267.  
  268. void Favorite(int id)
  269. {
  270.      faves[favcount]= new fav();
  271.      faves[favcount]->CopyChord(id);
  272.      favcount++;
  273. }
  274.  
  275. //////////////////////////////////////
  276.  
  277. void ShowFaves()
  278. {
  279.      cout << string(50, '\n');
  280.      cout<<"Chwyty dodane do ulubionych:\n\n\n";
  281.      if(favcount==0)
  282.      {
  283.      cout<<"Brak chwytow w ulubionych. Dodaj jakies przez modul wyszukiwania.";
  284.      }
  285.      else
  286.      {
  287.      for(int i=0;i<favcount;i++)
  288.      {
  289.      faves[i]->ShowFav();
  290.      }
  291.      }
  292.      cout<<"\n\nq by wyjsc, dowolny klawisz by powrocic.";
  293.      char z;
  294.      cin>>z;
  295.      switch(z)
  296.      {
  297.      case 'q':
  298.      return;
  299.      default:
  300.      MainMenu();
  301.      break;
  302.      }
  303. }    
  304.  
  305. //////////////////////////////////
  306.  
  307. void Info()
  308. {
  309.      cout << string(50, '\n');
  310.      cout<<"\tChwytak - podreczny wyswietlacz chwytow gitarowych.\n\n2012 Jedrzej Borowski - 195588\n\nPoitechnika Wroclawska\nProgramowanie Obiektowe, dr inz. Ryszard Jagielnicki\n\n\n\n\n\n\n\nCredits:\nJedrzej Borowski - projekt, kod\nDominika Oles - konwersja schematow, wsparcie moralne\n\nWszystkie uzyte schematy chwytow sa wlasnoscia serwisu chords.pl i zostaly wykorzystane wylacznie w celach edukacyjnych.\n\nq by wyjsc, dowolny klawisz by powrocic.";
  311.      char z;
  312.      cin>>z;
  313.      switch(z)
  314.      {
  315.      case 'q':
  316.      return;
  317.      default:
  318.      MainMenu();
  319.      break;
  320.      }
  321. }
Add Comment
Please, Sign In to add comment