- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在做以下 C++ 作业问题:
“编写一个程序,让用户将 12 个月中每个月的总降雨量输入 double 组。该程序应计算并显示当年的总降雨量、月平均降雨量以及降雨量最高的月份和最低金额。
输入验证:月降雨量数据不接受负数。”
我得到的错误是:
阅读这些内容后,我想可以安全地假设我的代码中存在一些关于将 double 转换为整数的错误。我梳理了我的代码,寻找这些错误。我找到的那些int变量(根据Visual Studio 2012提供的行方向),我改成了double;但它只会让我的代码更加困惑并产生更多错误。我什至出去把每个 int 变量都变成了一个 double 变量,结果却被关于“计数器”变量的 20 多个错误所困扰;错误说明“枚举类型”。
如有任何帮助,我们将不胜感激,该作业将于本周四下午(10 月 9 日)截止。
这个程序确实可以编译,但它也给了我各种垃圾答案和多余的垃圾答案。
到目前为止,这是我的代码:
#include<iostream>
#include<string>
using namespace std;
//Function prototypes
void totalAndAverage(int, double []);
void getHighest(int, double [], string []);
void getLowest(int, double [], string []);
//Global integer
const int SIZE = 12;
int main()
{
//Create arrays
double rainfallAmount[SIZE];
int index;
string months[SIZE] = { "January", "February", "March",
"April", "May", "June",
"July", "August", "September",
"October", "November", "December" };
//Get the amount of rain for each month
for ( index = 0; index < SIZE; index++)
{
cout << "Please enter the amount of rain (in inches) for month " << (index + 1) << ": " << endl; //+1 to not skip an array element
cin >> rainfallAmount[index];
//input validation, do not accept negative numbers
while (rainfallAmount[index] < 0)
{
cout << "You cannot have a negative amount of rainfall. Please enter the amount of rain." << endl;
cin >> rainfallAmount[index];
}
}
//Call function to find total and average
totalAndAverage(index, rainfallAmount);
//Call function to find highest
getHighest(index, rainfallAmount, months);
//Call function o find lowest
getLowest(index, rainfallAmount, months);
system("pause");
return 0;
}
void totalAndAverage(int i, double rainData[])
{
double total = 0, average;
//Find the total and average
for (i = 0; i < SIZE; i++)
{
total += rainData[i];
}
//Display total
cout << "The total rainfall is: " << total << endl;
//Find average and display
average = total / SIZE;
cout << "The average monthly rainfall is: " << average << endl;
}
void getHighest(int iCount, double rainData2[], string monthData[])
{
string highestMonth;
//Initialize highest
int highestRain = rainData2[0];
//Find the highest
for (iCount = 0; iCount < SIZE; iCount++)
{
if (rainData2[iCount] > highestRain)
{
highestRain = rainData2[iCount];
highestMonth = monthData[iCount];
//Display highest
cout << highestMonth << " had the most rainfall this year with " << highestRain << " inches." << endl;
}
}
}
void getLowest(int counter, double rainData3[], string monthDataCopy[])
{
string lowestMonth;
//Initialize highest
int lowestRain = rainData3[0];
//Find the highest
for (counter = 0; counter < SIZE; counter++)
{
if (rainData3[counter] > lowestRain)
{
lowestRain = rainData3[counter];
lowestMonth = monthDataCopy[counter];
//Display highest
cout << lowestMonth << " had the least rainfall this year with " << lowestRain << " inches." << endl;
}
}
}
最佳答案
你写道:
int highestRain = rainData2[0];
int lowestRain = rainData3[0];
由于您希望在不四舍五入为整数的情况下找到最高值和最低值,因此您的“迄今为止最佳”变量需要是 double 值。您可以明确声明它们:
double highestRain = rainData2[0];
double lowestRain = rainData3[0];
您还可以使用 auto
关键字。 (参见 docs for Visual Studio 2012。)这种风格的优点和缺点超出了本答案的范围,但您可能应该了解语言功能。
auto highestRain = rainData2[0];
auto lowestRain = rainData3[0];
关于c++ - 警告 : "conversion from ' double' to 'int' , 可能丢失数据”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26250883/
你好,我正在尝试在 opensuse 中创建一个 Shell 脚本来创建 MySqlUsers,但是当我尝试运行它时,我得到了这个错误: Warning: Could not start progra
我阅读了有关此错误的所有信息,但未能找到任何解决方案。 我有一个看起来像这样的简单页面: $xmlfile = "/var/www/marees.xml"; //Fichier dans lequel
运行 Websphere App 服务器 V8.5 Liberty Profile。我找不到任何可以解决这些警告的帮助。我在 eclipse 。 ************** He
我尝试在 GC AppEngine 上部署应用程序。部署过程中没有错误,但应用程序无法运行(仅显示加载页面)。日志中唯一一个奇怪的原始 OpenBLAS WARNING - could not det
我刚开始学习 RestKit。我正在尝试使用它来使用 Foursquare api 获取附近的 field 。但每次我尝试“objectLoader:(RKObjectLoader *)objectL
我对 Vuejs 比较陌生,每次按键时都会收到以下警告: [Vue warn]: $attrs is readonly. found in ---> at src\component
Warning: simplexml_load_file() [function.simplexml-load-file]: I/O warning : failed to load external
我在尝试修改某些表时不断收到此错误。这是我的代码: /** = 1){ //$this->mysqli->autocommit(FALSE); //insert th
当我尝试使用 PHP 的 ftp_put 函数上传文件时,早些时候出现错误: 警告:ftp_put() [function.ftp-put]:无数据连接 现在,我尝试开启被动模式: ftp_pasv(
我一直在努力让这段代码适用于现阶段的年龄。它旨在计算一个范围内的素数,我已经编写了一种方法来打印它们。不幸的是,代码将无法编译,引用警告: “警告:[未检查] 未检查调用 add(E) 作为原始类型
尝试使用带有架构组件和Kotlin的Android Studio 3 Canary 5构建示例会给出此警告。 谁能告诉我原因? 谢谢,Ove 编辑#1: 这是Dan Lew前段时间制作的样本 http
我正在编写一个 Shiny 的应用程序,它运行得非常好,突然我收到两条警告消息。我已经回到以前运行良好的副本,它们现在显示相同的错误消息,所以我真的很困惑。我的代码仍然运行并在我 Shiny 的仪表板
03-25 05:52:15.329 8029-8042/com.mgh.radio W/MediaPlayerNative: info/warning (703, 0) 03-25 05:52:15
我在构建时在我的 gradle 控制台中收到一条警告消息: 警告:[options] 引导类路径未与 -source 1.7 一起设置 1 条警告 我怎样才能解决这个问题? 任何帮助表示赞赏! 最佳答
我有下一个代码: 测试.c #include "a1.h" int main() { int a = 8; foo(a); return a; } a1.h void foo
我的程序中有一个 WORD 变量。 WORD hour; 但是当我比较它的时候 if(hour>=0 && hour=0 && hour=0 的比较,它始终适用于 hour 是 WORD 类型,它是一
安全研究人员警告称,一个最新的严重的Java错误,其本质与目前在全球范围内利用的臭名昭著的 Log4Shell 漏洞相同 。 CVE-2021-42392 尚未在国家漏洞数据库 (NVD) 中
安装SqlServer2005时“版本变更检查 (警告)"问题排查 今天同事在安装SqlServer2005时遇到“版本变更检查 (警告) ”问题导致安装失败,警告提示如下: - 版本
我的 UWP 项目中出现以下警告。我已经标记了解决方案的示例,但我更感兴趣的是为什么在同一平台上创建另一个空项目时不会出现此警告? APPX4001: Build property AppxBundl
我试图修复我的登录脚本,在我的本地主机上它可以工作,但上传到我的在线测试服务器时,注销被破坏,我得到这个错误: Warning: session_destroy() [function.session
我是一名优秀的程序员,十分优秀!