Facebook
From InformatykKrzysziek, 6 Months ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 181
  1. ------CMenu.cpp-----
  2.  
  3.  
  4. #include "CMenu.h"
  5.  
  6. CMenu::CMenu() {
  7.         licznikOpcji = 0;
  8. }
  9.  
  10. CMenu::~CMenu() {
  11.         cout << "\nbye bye";
  12. }
  13.  
  14. void CMenu::wyswietl() {
  15.         for (int i = 0; i < this->licznikOpcji; i++)
  16.         {
  17.                 cout << i + 1 << ". " << this->opcje[i] << endl;
  18.         }
  19.         cout << "\nPodaj Wybor:";
  20.         int wybor;
  21.         cin >> wybor;
  22.  
  23.         if (wybor > 0 && wybor <= this->licznikOpcji) {
  24.                 cout << "Wybrales: " << this->opcje[wybor - 1];
  25.                 this->funkcje[wybor - 1];
  26.         }
  27.         //cout << "#smierc";
  28. }
  29.  
  30. void CMenu::dodajOpcje(char *nazwa, void funkcja()) {
  31.         strcpy_s(this->opcje[this->licznikOpcji], 30, nazwa);
  32.         this->licznikOpcji++;
  33. }
  34.  
  35.  
  36. ------CMenu.h------
  37.  
  38. #pragma once
  39. #include <iostream>
  40.  
  41. using namespace std;
  42. class CMenu{
  43.         char opcje[10][30];
  44.         void(*funkcje[10])(void);
  45.         int licznikOpcji;
  46.  
  47. public:
  48.         CMenu();
  49.         void dodajOpcje(char *nazwa, void *funkcja());
  50.         void wyswietl();
  51.         ~CMenu();
  52.  
  53. };
  54.  
  55.  
  56.  
  57.  
  58. ------program.cpp---------
  59.  
  60.  
  61.  
  62. #include "CMenu.h"
  63. #include <cstdlib>
  64. #include <iostream>
  65. using namespace std;
  66. void test() {
  67.         cout << "funkcja test" << endl;
  68. }
  69. void test2() {
  70.         cout << "funkcja test2" << endl;
  71. }
  72. void test3() {
  73.         cout << "funkcja test3" << endl;
  74. }
  75.  
  76. int main() {
  77.         //test();
  78.         CMenu Menu;
  79.         Menu.dodajOpcje("opcja pierwsza", &test);
  80.         Menu.dodajOpcje("opcja druga", &test2);
  81.         Menu.dodajOpcje("opcja trzecia", &test3);
  82.         Menu.wyswietl();
  83.         system("pause>nul");
  84.         return 0;
  85.        
  86. }
  87.  
  88.  
  89.  
  90. #nie działa