atof() requires that you pass a const char*, not a string. That is, you need to pass a c-style string rather than a c++-style std::string. Fortunately, std::string has a method that returns a const char* version of the string. If you change the line you are having problems with to:
CODE
c = atof(line.c_str());
it should work - at least in terms of converting the string into a float. I haven't really looked over the flow or logic of the program in a lot of detail, but it appears that you will only be able to enter the hours worked for the first employee taken from the file - because of the
if (count==0) used at the start of the block where the number of hours is entered.
C++ also has something known as string streams, which can do the same sort of conversions that atof, atoi, etc. can do, but they are much more powerful. You may want to take a look at
this page for some more info on them. They allow you to treat strings as you would streams; this allows you to, for instance, use the >> operator to extract formatted data from the string, much as you would using cin or a file stream.
Hope that helps,
-jjh