Advertisement
Guest User

Untitled

a guest
Jul 27th, 2017
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.36 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. template<typename X>
  4. class Singleton
  5. {
  6.     public:
  7.         static Singleton* inst()
  8.         {
  9.             static Singleton* inst;
  10.             if(inst == NULL){return new Singleton();}
  11.             return inst;
  12.         }
  13. };
  14.  
  15. static int frun = 0;
  16.  
  17. class Calc : Singleton<Calc*>
  18. {
  19.     private:
  20.         const char* msgAbertura = "--> Calculadora do Eventide <--" << std::endl;
  21.         const char* msg1 = "--> Diga o primeiro numero:\n" << std::endl;
  22.         const char* msg2 = "--> Diga o operador:\n" << std::endl;
  23.         const char* msg3 = "--> Diga o segundo numero:\n" << std::endl;
  24.         const char* arg1, arg2, arg3;
  25.        
  26.     public:
  27.         Calc()
  28.         {
  29.             if(frun == 0){std::cout << msgAbertura;}
  30.             std::cout << msg1;
  31.             std::cin >> arg1;
  32.             std::cout << msg2;
  33.             std::cin >> arg2;
  34.             std::cout << msg2;
  35.             std::cin >> arg3;
  36.             if(arg2 == "+"){std::cout << (arg1 + arg3) << std::endl;}
  37.             else if(arg2 == "-"){std::cout << (arg1 - arg3) << std::endl;}
  38.             else if(arg2 == "/"){std::cout << (arg1/arg3) << std::endl;}
  39.             else if(arg2 == "*" or arg2 == "." or arg2 == "x"){std::cout << (arg1*arg3) << std::endl;}
  40.             else{std::cout << "--> operador falso!" << std::endl;}
  41.             delete this;
  42.         }
  43.         ~Calc()
  44.         {
  45.             frun++;
  46.             std::cout << "--> Deseja sair? (s/n) -> ";
  47.             const char* arg;
  48.             std::cin >> arg;
  49.             if(arg == "s"){exit(0);}
  50.             Calc* loop = new Calc();
  51.         }
  52. };
  53.  
  54. int main()
  55. {
  56.     Calc* c = new Calc();
  57. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement