Thanks Grey Wolf - believe it or not I was just about to post to say that I had suddenly realised that but then I tried changing c and f to floats rather than ints and got the same result ie 0 for the latter expression.
I also tried defining a float con=5/9 and using the expression c=(f-32)*con (with c and f defined as floats as well) but that still gives 0.
You would need to use a 'float' literal in your calculation of float con=5/9, so it would be float con=5.0/9.0. You can just have one as a float, that would still do in float division.
1 2 3 4 5 6 7 8 9 10 11
#include <iostream>
int main(void)
{
int temp_f = 100;
int temp_c = (int) (temp_f - 32) * (5.0 / 9.0);
std::cout << temp_c << std::endl;
return 0;
}