Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- template<typename X>
- class Singleton
- {
- public:
- static Singleton* inst()
- {
- static Singleton* inst;
- if(inst == NULL){return new Singleton();}
- return inst;
- }
- };
- static int frun = 0;
- class Calc : Singleton<Calc*>
- {
- private:
- const char* msgAbertura = "--> Calculadora do Eventide <--" << std::endl;
- const char* msg1 = "--> Diga o primeiro numero:\n" << std::endl;
- const char* msg2 = "--> Diga o operador:\n" << std::endl;
- const char* msg3 = "--> Diga o segundo numero:\n" << std::endl;
- const char* arg1, arg2, arg3;
- public:
- Calc()
- {
- if(frun == 0){std::cout << msgAbertura;}
- std::cout << msg1;
- std::cin >> arg1;
- std::cout << msg2;
- std::cin >> arg2;
- std::cout << msg2;
- std::cin >> arg3;
- if(arg2 == "+"){std::cout << (arg1 + arg3) << std::endl;}
- else if(arg2 == "-"){std::cout << (arg1 - arg3) << std::endl;}
- else if(arg2 == "/"){std::cout << (arg1/arg3) << std::endl;}
- else if(arg2 == "*" or arg2 == "." or arg2 == "x"){std::cout << (arg1*arg3) << std::endl;}
- else{std::cout << "--> operador falso!" << std::endl;}
- delete this;
- }
- ~Calc()
- {
- frun++;
- std::cout << "--> Deseja sair? (s/n) -> ";
- const char* arg;
- std::cin >> arg;
- if(arg == "s"){exit(0);}
- Calc* loop = new Calc();
- }
- };
- int main()
- {
- Calc* c = new Calc();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement