gpt4 book ai didi

c++ - 尝试做一个简单的结构数组 c++

转载 作者:行者123 更新时间:2023-11-28 01:15:11 25 4
gpt4 key购买 nike

#include <iostream>
#include <iomanip>
#include <cmath>
#include <math.h>
#include <string>

using namespace std;

struct Weather
{
string month[12];
double rainfall;
double hitemp;
double lotemp;
};

int main()
{
Weather month[12] = {"January", "Febuary", "March", "April", "May", "June", "July", "August", "September", "October", "November", "Decemeber"};

for (int i = 0; i < 12; i++)
{
cout << "month rainfall" << month[i] << endl;
cin >> month[i].rainfall;
}

cout << month[3].rainfall;
}

在我的家庭桌面上使用 GDB 对 c++ 来说真的很新,但我在类里面使用代码块。尝试完成一项涉及存储每个月天气数据的作业。我目前遇到了这个错误。我应该使用指针吗?还是您不能使用预填充数组而不得不向用户询问月份?

main.cpp: In function ‘int main()’: main.cpp:25:34: error: no match for ‘operator<<’ (operand types are ‘std::basic_ostream’ and ‘Weather’)
cout << "month rainfall" << month[i]<< endl;

编辑:我很抱歉我不清楚我的意图。我试图让 month[12] 成为所有月份,然后通过索引数组逐月存储降雨量、最高温度和最低温度。是否可以为数组中的每个元素赋予一个结构?我必须单独分配每个月的数据吗?抱歉,我不太精通这些术语。

最佳答案

首先你的初始化不正确

Weather month[12] = {"January", "Febuary", "March","April","May","June","July","August","September","October","November","Decemeber"};

您已经声明了一个名为 month 的数组,它可以存储 12 个 Weather 结构。我怀疑这是你的意图。相反,您打算初始化 Weather 结构的 month 成员

来到你看到的实际错误

cout << "month rainfall" << month[i]<< endl;

编译器认为您正在尝试输出整个结构,因为 month[i] 引用您声明的结构数组中的第 i 个元素。

你应该做的是这样的

#include <iostream>
#include <string>

struct Weather
{
std::string month;
double rainfall;
double hitemp;
double lotemp;

};


int main()
{

Weather yearlyweather[12];

for (int i = 0; i < 1; i++)
{
std::cin >> yearlyweather[i].month;
std::cin >> yearlyweather[i].rainfall;
std::cin >> yearlyweather[i].hitemp;
std::cin >> yearlyweather[i].lotemp;
}

for (int i = 0; i < 1; i++)
{
std::cout << yearlyweather[i].month << "\n" << yearlyweather[i].rainfall << "\n" << yearlyweather[i].hitemp << "\n" << yearlyweather[i].lotemp;
}


return 0;


}

关于c++ - 尝试做一个简单的结构数组 c++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58925599/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com