有人能告诉我为什么变量百分比= 0?它应该是33.3333对吗?(2/6)
因为当我运行下面的函数时,结果是
总行数= 6
奇数行= 2
奇数行百分比= 0
bool count_odd_lines(string a, string b)
{
ifstream in;
ofstream out;
in.open(a.c_str());
out.open(b.c_str());
string s;
int count = 0;
int odd = 0;
if (in && out)
{
while (getline(in, s))
{
count++;
if (s.length() % 2 != 0) odd++;
}
out << "Total lines = " << count << endl;
out << "Odd lines = " << odd << endl;
double percent = odd/count;
out << "Percent odd lines = " …Run Code Online (Sandbox Code Playgroud) 这是我应该做的:
编写一个基类Worker和2个派生类HourlyWorker和SalariedWorker.每个工人都有姓名和工资率.
编写一个虚拟函数compute_pay(int hours),计算每个工人的每周工资.每小时工人在前40个小时内获得全额工资,并且在任何时间内都可以获得工资.无论实际的小时数是多少,受薪工人都会按小时工资支付40小时.
以下是我的代码,编译时没有错误.但计算都错了.我希望有人可以告诉我我的代码有什么问题.
#include <iostream>
#include <string>
using namespace std;
//////////// Worker /////////////////////////////
class Worker
{
public:
Worker();
Worker(string name, int salary);
void print();
int compute_pay(int hours);
string get_name();
int get_salary();
private:
string name;
int salary;
int payout;
};
Worker::Worker() {salary = 0;}
Worker::Worker(string name, int salary)
{
this->name = name;
this->salary = salary;
}
void Worker::print()
{
cout << "Worker name: " << this->name;
cout << "Salary: " << this->salary;
} …Run Code Online (Sandbox Code Playgroud)