【发布时间】:2017-11-24 06:34:09
【问题描述】:
我是 C++ 班的学生。我需要帮助完成一项任务。
"Read from a text file called salaries.txt that contains the following format:
M321232.34
F43234.34
M23432.23
M191929.34
字母“M”和“F”代表性别,数字代表 他们的薪水。每次读到一个时,计算男性的数量,然后 将每个男性工资添加到累积的 totalMaleSalary 中。做同样的事情 女性。在循环结束时计算女性平均工资 和男性平均工资 - 显示您的结果并确定 2 个平均值中的哪一个更大。”
我将如何计算男性人数并添加每个工资?
这就是我所拥有的:
int main(){
int male=0, female=0;
double salary,totalMaleSalary=0,totalFemaleSalary=0;
char gender;
ifstream fin;
fin.open("salary.txt");
do{
fin>>gender>>salary;
if(gender=='M'){
male=male+1;
totalMaleSalary=salary+totalMaleSalary;
}
if(gender=='F'){
female=female+1;
totalFemaleSalary=salary+totalFemaleSalary;
}
cout<<"Number of Males is "<<male<<endl;
cout<<"Number of Females is "<<female<<endl;
cout<<"Total Male Salary is "<<totalMaleSalary<<endl;
cout<<"Total Female Salary is "<<totalFemaleSalary<<endl;
cout<<"Average Male salary is "<<totalMaleSalary/male<<endl;
cout<<"Average Female salary is "<<totalMaleSalary/female<<endl;
}while(!fin.eof());
fin.close();
return 0;
}
【问题讨论】:
-
恐怕
totalMaleSalary=salary+totalMaleSalary;不行。您正在读取字符串。此外,M321232.34中的M和321232.34之间也没有空格,可以将其输入到两个不同的变量中。 -
如何添加正在读取的字符串?
-
@Dawn 你当前的代码有什么问题?
-
@apple apple 代码只是无限循环 cout。在课堂上,我得到了一个使用与地雷非常相似的代码的示例。当我运行它时,出现了同样的问题。我应该怎么做才能修复我的代码?
标签: c++ string file io floating-point