We propose a novel resource allocation (RA) strategy for a cognitive radio packet-oriented bit-interleaved coded orthogonal frequency division multiplexing (BIC-OFDM) system with decode-and-forward (DF) relays. The aim of the RA is maximizing the goodput (GP) of the source-relay-destination link, which is the number of information bits correctly received at the destination node per unit of time. Therefore, we derive an accurate analytic approximation for this figure of merit, which allows us to find the optimum constellation size, code rate and energy allocation per subcarrier. Further, this expression also serves as a novel relay selection criterion. Finally, we validate the proposed RA method, and compare its performance to capacity-maximizing algorithms through numerical simulations.