Poly program() { char cmd[8]; Poly p; scanf("%s", cmd); while(1) { scanf("%s", cmd); switch(cmd[0]) { case 'L': p.add(loop()); break; case 'O': p.add(op()); break; case 'E': return p; break; } } }
Poly loop() { char para[MAXL], cmd[MAXL]; Poly p; scanf("%s", para); while(1) { scanf("%s", cmd); if(cmd[0] == 'E') break; switch(cmd[0]) { case 'L': p.add(loop()); break; case 'O': p.add(op()); break; } } if(isdigit(para[0])) { int loopn = atoi(para); p.multiI(loopn); } else p.multiN(); return p; }