从printf scanf转换为cin cout的问题

时间:2012-07-31 03:04:16

标签: c++ syntax

对于我的家庭作业,我被要求带上我之前的项目并将其从使用<stdio.h>更改为<iostream>在此过程中我遇到了很多错误,而且只是一点点坚持几个特定的​​。

就我的预处理器指令而言,我已经包括:

#include <iostream>
#include <iomanip>
#include <fstream>

错误代码我已经指定了我的代码的特定行。我得到的一个反复出现的错误是:

error: expected primary-expression before âfloatâ

此错误来自以下几行:

void PrintAverages(ofstream &output, int tot_employees, float tot_payrate, float tot_reghrs,
                   float tot_ovthrs, float tot_gross, float tot_fed, float tot_state,
                   float tot_ssi, float tot_def, float tot_net)
{      

    output << reportfile, "\n\nAverages:" << tot_payrate / tot_employees <<
              tot_reghrs / tot_employees << tot_gross / tot_employees <<
              tot_fed / tot_employees << tot_ssi / tot_employees << tot_net / tot_employees <<
              tot_ovthrs / tot_employees << tot_state / tot_employees << tot_def / tot_employees;
}

这是我的一个外部功能。我的其他功能会多次出现错误代码。我认为这个问题类似于造成这个问题的问题。如果有人能帮我指出正确的方向那就太棒了!

-Devin

2 个答案:

答案 0 :(得分:0)

reportfile是什么类型的? reportfile\n\nAverages:字符串之间的逗号看起来很奇怪 - 那不应该是<<吗?

您需要在浮动之间留出空格,否则它们将一起运行。在<< " " <<之间使用float,而不只是<<

答案 1 :(得分:0)

尝试

std::ofstream

of ofstream在namespace std。

中声明

报告文件后面的逗号也应该是<<