Существительные, которые называют составными, это сущий кошмар для тех, кто решил их написать или произнести. Все эти инженер-майоры, генерал-лейтенанты, планы-заказы, школы-интернаты, прайс-листы... Составными они называются потому, что состоят из двух полноценных слов, соединенных дефисом. Однако на этом ясность заканчивается.
Дальше - одни вопросы. Почему, например, в слове "инженер-майор" первое слово не склоняется? А в слове "школа-интернат", напротив, склоняется? Мы начнем с самого простого: когда не склонять первую часть в таком слове.
Итак, мы не склоняем первую часть, если она представляет собой неизменяемое слово, недавнее заимствование или аббревиатуру. Какие-нибудь там какао-бобы, кафе-закусочная, конференц-зал, прайс-лист (какао-, кафе-, конференц-, прайс- не склоняются).
И это еще не все! Первая часть составного существительного не будет склоняться, если по своему значению она близка соответствующему прилагательному. Например, "штаб-офицер" - это что-то вроде "штабного офицера". Так же ведут себя слова наподобие "штаб-квартиры", "интернет-кафе", "национал-социалиста". Заметьте: или одна часть, или даже обе не склоняются!
А вот дальше... дальше перед нами открывается целое поле (нет, темный лес!) составных слов, где отношения между частями зависят от самых разных причин. В частности, от того, насколько две части слова спаяны между собой. А также от того, насколько часто слово употребляется в обиходной речи. Например, наименования по профессии: инженер-металлург, автор-иллюстратор. Склоняться будут обе части: инженера-металлурга, автора-иллюстратора...
Однако и из этого правила есть исключение! Это замкнутая группа военных обозначений, где первая часть не склоняется нипочем: все эти инженер-майоры, генерал-лейтенанты, капитан-лейтенанты, а также... а также премьер-министры. Не "премьеры-министры", заметьте! Нет, именно "премьер-министры".
Ну а уж за пределами этой группы (и за исключением уже указанных ситуаций) наступает полная и окончательная свобода действий! Да-да, во всех многочисленных составных наименованиях в нашей с вами обиходной жизни обе части будут склоняться: автобусы-экспрессы, автомобили-фургоны, вагоны-буфеты, диваны-кровати, балы-маскарады... Все они склоняются: как первая часть, так и вторая.
Если же у вас все-таки возникают вопросы - не ленитесь заглядывать в словари и находить там нужное вам слово. Так-то оно надежнее будет.