#include #include #include "complex.h" #include "stack-c.h" #include "calc-c.h" int main(void) { Calculadora calc; StackIterador it( &calc ); // Polimorfismo char str[31]; float re, im; while( 1 ) { printf("> "); gets_s(str, sizeof(str)); if( sscanf_s(str, " (%f,%f)", &re, &im, sizeof(re), sizeof(im))==2 ) { calc.push( Complex(re, im) ); } else { char c; sscanf_s(str, "%c", &c, sizeof(c)); switch( c ) { case '+': calc.sum(); break; case '-': calc.subtract(); break; case '/': calc.divide(); break; case '*': if( (sscanf_s(str, "*%c", &c, sizeof(c))) && (c='*') ) calc.exp(); else calc.multiply(); break; case 'q': return 0; default: printf("error\n"); } } // StackIterator it.percorrePilha(); } }