如何解决今天困扰着我的C ++
正确的解决方案是什么? 什么是正确的解决方案? 正确的解决方法是什么?
<iostream>
和<fstream>
库包括在内。
int main() {
int num = 0;
int totalCount = 0;
std::ifstream inFile;
double average = 0.0;
int totalTwo = 0;
double total = 0.0;
const double VALUE_ONE = 858.5;
std::cout << "What is the number? ";
std::cin >> num;
std::cout << std::endl;
inFile.open("numbers.txt");
while (inFile >> num) {
totalCount += num;
}
total = num * VALUE_ONE;
average = total/totalCount;
totalTwo = total * num;
inFile.close();
return 0;
}
numbers.txt
解决方法
执行此操作时:
std::cin >> num;
std::cout << std::endl;
inFile.open("numbers.txt");
while (inFile >> num) {
totalCount += num;
}
您正在读num
,然后立即用输入文件中的数据覆盖它。为两个输入使用两个变量。
您的代码与指令中所说的不符。
您正在将用户选择的乘数读入num
,然后又将文本文件中的数字读入num
,从而丢失了乘数。而且,您没有跟踪从文件中读取多少个数字,这是计算average
所需要的。
您需要在代码中添加更多变量以分隔内容。另外,根本不需要VALUE_ONE
常量。
尝试更多类似的方法:
#include <iostream>
#include <fstream>
int main()
{
int multiplier = 0;
int total = 0,totalTwo = 0;
int quantity = 0;
int num = 0;
double average = 0.0;
std::cout << "After all numbers are read,what number would you like to multiply the total by? ";
std::cin >> multiplier;
std::cout << std::endl;
std::ifstream inFile("numbers.txt");
while (inFile >> num) {
total += num;
++quantity;
}
inFile.close();
average = double(total) / quantity;
totalTwo = total * multiplier;
std::cout << "Total = " << total << "\n" << "Average = " << average << "\n" << "Total * " << multiplier << " = " << totalTwo;
return 0;
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。