Ti ricordo che la system() andrebbe sempre evitata, in quanto che non è standard, non è (quasi mai) portabile, fa dipendere il funzionamento del tuo programma da quello dell'interprete dei comandi (il cui funzionamento varia anche a seconda della versione di Windows) e aggiunge al tuo programma l'overhead di lanciare l'interprete dei comandi ad ogni chiamata alla system(). Quasi tutto quello che si può fare con la system() si può fare con le normali feature del linguaggio C/C++ o con le API specifiche del sistema. Ad esempio, al posto di system("pause") usa cin.ignore(); (quanto al cls, è più difficile, bisogna ricorrere alle API).