Cuando llamas a system z esta dentro de la cadena, es decir, no es mas que un caracter. Podes usar sprintf para generar una cadena con el comando y el numero (z):
Código:
char volumeCommand[64];
sprintf(volumeCommand, "cmd nircmd.exe changesysvolume %d", z);
system(volumeCommand);