大家好,这是我的第一篇文章。我正在使用以下参数进行家庭作业。
计件工人按计件支付。通常,生产更多产出的工人得到更高的报酬。
1 - 199 pieces completed $0.50 each 200 - 399 $0.55 each (for all pieces) 400 - 599 $0.60 each 600 or more $0.65 each
输入:对于每个工人,输入名称和完成的件数。
Name Pieces Johnny Begood 265 Sally Great 650 Sam Klutz 177 Pete Precise 400 Fannie Fantastic 399 Morrie Mellow 200
输出:打印适当的标题和列标题。每个工人应该有一个明细行,显示姓名、件数和收入。计算并打印件数和赚取的美元金额的总和。
处理:对于每个人,通过将件数乘以适当的价格来计算所赚取的工资。累计件数和支付的总金额。
示例程序输出:
Piecework Weekly Report Name Pieces Pay Johnny Begood 265 145.75 Sally Great 650 422.50 Sam Klutz 177 88.5 Pete Precise 400 240.00 Fannie Fantastic 399 219.45 Morrie Mellow 200 110.00 Totals 2091 1226.20
您需要编码、编译、链接和运行一个哨兵控制的循环程序,该程序将输入转换为输出规范,如上面的附件所示。输入项应输入到名为piecework1.dat 的文本文件中,输出文件存储在piecework1.out 中。程序文件名为piecework1.cpp。这三个文件的副本应以原始形式通过电子邮件发送给我。
使用单个变量读取名称,而不是使用两个不同的变量。要做到这一点,您必须使用课堂上讨论的 getline(stream, variable) 函数,但您将用您的文本文件流变量名称替换 cin。不要忘记在程序顶部编写编译器指令 #include <string> 以确认字符串变量 name 的使用。您的嵌套 if-else 语句、累加器、计数控制循环应经过适当设计以正确处理数据。
下面的代码将运行,但不会产生任何输出。我认为它需要第 57 行附近的东西来停止循环。
类似的东西(这只是一个例子......这就是为什么它不在代码中。)
count = 1;
while (count <=4)
有人可以查看代码并告诉我需要引入什么样的计数,以及是否需要进行任何其他更改。
谢谢。
//COS 502-90
//November 2, 2012
//This program uses a sentinel-controlled loop that transforms input to output.
#include <iostream>
#include <fstream>
#include <iomanip> //output formatting
#include <string> //string variables
using namespace std;
int main()
{
double pieces; //number of pieces made
double rate; //amout paid per amount produced
double pay; //amount earned
string name; //name of worker
ifstream inFile;
ofstream outFile;
//***********input statements****************************
inFile.open("Piecework1.txt"); //opens the input text file
outFile.open("piecework1.out"); //opens the output text file
outFile << setprecision(2) << showpoint;
outFile << name << setw(6) << "Pieces" << setw(12) << "Pay" << endl;
outFile << "_____" << setw(6) << "_____" << setw(12) << "_____" << endl;
getline(inFile, name, '*'); //priming read
inFile >> pieces >> pay >> rate; // ,,
while (name != "End of File") //while condition test
{ //begining of loop
pay = pieces * rate;
getline(inFile, name, '*'); //get next name
inFile >> pieces; //get next pieces
} //end of loop
inFile.close();
outFile.close();
return 0;
}