Вы предлагаете в структуры напихать методов на все случаи?
Только описывать их придется в одном месте, а вызывать из другого. Ну удобно же, и читаемо. :)А подобную инициализацию в портянки переписывать? C++ это не переваривает.
test1("Test1", &(const rqtm_t){.base = 1000, .answer1 = 150, .reaction = 2000, .transfer = 0, .rw = 0 });
test1("Test2", &(const rqtm_t){.base = 500, .answer1 = 50, .reaction = 100, .transfer = 80, .rw = 32 });
..
> В конечном итоге хруст, а вроде еще D, и кто там еще
Так, идея в поддержке Си - исходников, а не переписывании.