大家好,这是我的第一篇文章。我正在做一个带有以下参数的家庭作业。
计件工人由这件作品支付。通常是生产工人的工人 以更高的利率支付更多的产出。
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(流, 变量)函数,如课程中讨论的,除了你将替换 带有文本文件流变量名的cin。别忘了编码 编译器指令#include<字符串>在你的程序的顶部 确认字符串变量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;
}
答案 0 :(得分:0)
有人可以查看代码并告诉我需要介绍什么样的计数,以及是否需要进行任何其他更改。
您需要将输出定向到输出文件的语句,就像赋值所做的那样。编译器无法读懂您的想法,也无法读取您的作业。它只能读取您的代码。
您的输入语句也有问题。工资率不在输入文件中。输入文件中的所有内容都是工人的名字和他们制作的作品数量。