设计带有数组的类
Designing a class with array
本文关键字:数组 更新时间:2023-10-16
我有一个文件,其中包含如下数据列表:
2012-01-01 雨 7 13 0.28
2012-01-02 散云 4 8 0.25
2012-01-03 雨 6 12 0.28
2012-01-04 雨 5 10 0.28
2012-01-05 雨 7 12 0.28
我已经设法设计了一个类并将数据提取到我的程序中。我现在坚持设计:
- 如何查找第 3 列数据的总和
- 如何将年份与其他数据匹配。
例如:对于案例 #2 - 我想查找 2012 年"雨"的出现次数。
PS:我刚开始学习编程,对不起,如果答案很明显。
这是我的代码:
const int SIZE = 2000;
class City
{
public:
string date;
string weatherDesc;
int minTemp;
int maxTemp;
double rainfall;
};
int main( )
{
City london[SIZE];
ifstream fin;
fin.open("weather.txt");
int i = 0;
while ((! fin.eof( )) && (i < SIZE))
{
fin >> london[i].date
>> london[i].weatherDesc
>> london[i].minTemp
>> london[i].maxTemp
>> london[i].rainfall;
cout << london[i].date << " "
<< london[i].weatherDesc << " "
<< london[i].minTemp << " "
<< london[i].maxTemp << " "
<< london[i].rainfall << endl;
i++;
}
}
您可以简单地检查数组中的每个元素,看看每个城市是否满足所需的条件。
int weatherDescCount(City cities[], int count, string year, string desc)
{
int num = 0;
for (int i = 0; i < count; i++)
{
if (cities[i].weatherDesc == desc &&
cities[i].date.substr(0, 4) == year) {
num++;
}
}
return num;
}
int sumMinTemp(City cities[], int count)
{
int sum = 0;
for (int i = 0; i < count; i++)
{
sum += cities[i].minTemp;
}
return sum;
}
在 main() 的末尾,添加以下代码:
cout << sumMinTemp(london, i) << endl;
cout << weatherDescCount(london, i, "2012", "Rain") << endl;
它按预期打印 29 和 4 和示例数据。
相关文章:
- Mongodb c++驱动程序:如何查询元素的数组
- 将数组的地址分配给变量并删除
- 从C++本机插件更新Vector3数组
- lambda参数转换为constexpr技巧,然后获取带链接的数组
- 将数组作为参数传递给函数安全吗?作为第三方职能部门,可以探索他们想要的之外的其他元素
- 数组索引的值没有增加
- 将对象数组的引用传递给函数
- 为char数组调整zlib-zpipe
- 2D数组来自文本输入,中间有空格
- std::向量与传递值的动态数组
- 在c++中用vector填充一个简单的动态数组
- 使用strcpy将char数组的元素复制到另一个数组
- 使用指针从C++中的数组中获取最大值
- C++使用整数的压缩数组初始化对象
- 告诉一个 const char 数组,除了编译时 C 样式的字符串外,它不以 '