问个关于强制类型转换符的有关问题

问个关于强制类型转换符的问题.
下面是我写的测试程序:
#include   <iostream>
#include   <iomanip>
using   std::cin;
using   std::cout;
using   std::endl;
using   std::fixed;
using   std::setprecision;
int   main   (void)
{
int   a   =   257   ,b   =   3   ,   c   =   0;
        c   =   static_cast   <   double   >   (a)/b;
cout   < <   setprecision(   2   )   < <   fixed   < <   c   < <   endl;
cin.get();
return   0;
}
本来答案应该是:85.67的.
但是我的答案还是85
请问错在哪里呢?怎么类型没有被转换呢?
谢谢!!

------解决方案--------------------
static_cast < double > (a)/b;
这个表达式本来是double型的。
可惜忙活了半天最后又把它赋给了一个整形变量,差不多前功尽弃了。
------解决方案--------------------
double c = static_cast < double > (a)/b; //要声明c为double型的
cout < <c < <endl;



------解决方案--------------------
int a = 257 ,b = 3 ;
cout < < setprecision( 2 ) < < fixed < < static_cast < double > (a)/b < < endl;
------解决方案--------------------
^_^ 这种错确实很 建议自己多检查下程序