当我为员工数输入一个小数时,它输出“请输入一个atleast 1的值”无限次数。但不应该将小数点截断?我如何解决这个问题,所以小数点被删除。这发生在daysMissed的输入中。循环中的C++函数
#include <iomanip>
#include <iostream>
using namespace std;
int getNumEmployees();
int getDaysMissed(int);
double getAverageDays(int,int);
int main()
{
int numEmployees;
int daysMissed;
double average;
//Get the number of employees
numEmployees = getNumEmployees();
//Get the number of days missed
daysMissed = getDaysMissed(numEmployees);
//Get the average days missed
average = getAverageDays(numEmployees, daysMissed);
cout << "The average number of days missed is: " << average << endl;
system("pause");
return 0;
}
int getNumEmployees()
{
int employeeNum;
cout << "Enter the number of company employees: ";
cin >> employeeNum;
while(employeeNum < 1)
{
cout << "Please enter a value of atleast 1 " << endl;
cin >> employeeNum;
}
return employeeNum;
}
int getDaysMissed(int employeeNum)
{
int totalDays = 0;
int employee;
for(int count = 1; count <= employeeNum; count++)
{
cout << "Enter the number of days employee " << count << " missed: ";
cin >> employee;
while(employee < 0)
{
cout << "Enter a positive number for days missed " << endl;
cin >> employee;
}
totalDays += employee;
}
return totalDays;
}
double getAverageDays(int employeeNum, int totalDays)
{
double averageDays;
averageDays = totalDays/employeeNum;
return averageDays;
}
您可能还想摆脱冒犯的字符或行。 – chris 2013-03-26 01:55:33
@chris相当真实!忘了忽略。 – Serdalis 2013-03-26 01:59:20
它回答这个问题:“但不应该小数点被截断?” – 4pie0 2013-03-26 02:06:44