Ikonę pliku wykonywalnego (czyli także ikonę na pasku zadań) definiuje się za pomocą zasobów linkowanych z resztą kodu. Poczytaj o tym tutaj. Ikona na pasku tytułowym to inna bajka, która jest definiowana w trakcie działania programu. Wymaga to modyfikacji klasy okna, w tym przypadku okna konsoli. Jednak dostęp do tej klasy (przynajmniej u mnie) jest zablokowany. Zauważyłem jednak, że w Visual Studio dodanie samych zasobów zmienia również ikonę na pasku tytułowym. W Code::Blocks zaś taka zmiana nie zachodzi.