Tout simplement
if (tableIsModified && ((!proposeToSave()) || (!save()))) return; ? L'ordre et la "paresse" d'évaluation des opérateurs logiques sont garantis en C, tu peux en profiter. (La paire de parenthèses autour des
!machin() est probablement superflue, mais je préfère être parano que de risquer de me planter avec les règles de priorité

)
Y'a des gens comme Xi qui vont râler sur le style, mais de toute façon, ils râleront aussi sur le fait que tu utilises
return 
EDIT : ceci dit, même moi je ne suis pas sûr de recommander ce style, c'est juste pour te proposer une solution.
et c'est plutôt offerToSave() que proposeToSave(), à moins qu'il faille demander en mariage ton soft pour pouvoir sauvegarder 