fsck.vfat (dosfsck) can check FAT32, but can't repair most of the errors.
ntfsfix can check, but to repair often suggest to use Windows and chkdsk from it.
I don't know how to check and repair another file system from the title in Linux.
I don't have MS Windows or Mac OS X, but I need two Linux good tools, maybe non-free:
For checking and repair FAT32, NTFS, exFAT (Windows's standard fs).
For checking and repair HFS and HFS+ (Mac OS X's standard fs).
Or maybe one tool for all.
testdisk supports FAT, exFAT, NTFS, but it is not automatic repair tool and can't fix most of the errors.
photorec even supports HFS+, but it can't repair fs, it can only repair files from it.
First of all, I need a full featured fs auto repair tool (maybe with some user confirmations) as in the title.