In this paper, we propose an adaptive time, frequency and code allocation algorithm to guarantee heterogeneous quality of service (QoS) of users in multicarrier code division multiple access (MC-CDMA) systems. It is separated into two stages. First, time slots and frequency bands are allocated based on the proposed signal-to-noise ratio (SNR) threshold which reflects channel information and the QoS requirements of each user. Next, we propose a cost function which represents sum delay of users and then the codes are allocated by minimizing the cost function while guaranteeing the required bit error rate (BER) of users. Simulation results show that the proposed algorithm yields lower outage probability and higher throughput compared with the existing algorithms.