Не увидел следующие функции:
- void rat_create(struct Rational *res, int a, int b);
- void rat_print(struct Rational *a, FILE *fp);

И еще не хватает разделения на файлы .h/.c