Так как OS в вопросе не указана, напишу как это делается в Windows.
GetLogicalDrives - возвращает 32 битное число, каждый установленный бит которого обозначает доступность в системе соответствующего диска: бит 0 - A, бит 1 - B, бит 2 - С и так далее.
GetDriveType(DiskName) - при передаче в функцию буквы диска возвращается его тип:
0 DRIVE_UNKNOWN
1 DRIVE_NO_ROOT_DIR
2 DRIVE_REMOVABLE (сменный)
3 DRIVE_FIXED
4 DRIVE_REMOTE (сетевой)
5 DRIVE_CDROM
6 DRIVE_RAMDISK
Например:
void main()
{
if (GetDriveType("F:")==DRIVE_CDROM)
cout << "CD" << endl;
}