I would've done a while loop instead of a do...while.

while (!death) //tighten up that code

{

have_and_hold();

love_and_cherish();

}

That way you don't accidentally end up with a zombie. The do loop will run at least once no matter what.