定义股票类 Stock,记录一支股票交易的基本信息,包括交易日序号、当日最高价、最低价、开盘价、收盘价,成员函数根据需要自行定义。实例化一个对象数组存放连续 5个交易日的股票信息。编写主函数计算从第二个交易日开始每天的当日涨幅(按收盘价计)
时间: 2024-03-25 10:40:26 浏览: 77
好的,我可以帮您完成这个问题。
首先,我们定义一个股票类 `Stock`,如下所示:
```c++
class Stock {
private:
int day; // 交易日序号
double high; // 当日最高价
double low; // 当日最低价
double open; // 开盘价
double close; // 收盘价
public:
// 构造函数
Stock(int d, double h, double l, double o, double c) {
day = d;
high = h;
low = l;
open = o;
close = c;
}
// 获取交易日序号
int getDay() const {
return day;
}
// 获取收盘价
double getClose() const {
return close;
}
};
```
然后,我们实例化一个对象数组,存放连续 5 个交易日的股票信息:
```c++
Stock stocks[5] = {
Stock(1, 10.0, 9.5, 9.8, 9.7), // 第一天的股票信息
Stock(2, 9.8, 9.3, 9.5, 9.6), // 第二天的股票信息
Stock(3, 9.7, 9.2, 9.4, 9.5), // 第三天的股票信息
Stock(4, 9.9, 9.4, 9.6, 9.8), // 第四天的股票信息
Stock(5, 10.2, 9.7, 10.0, 10.1) // 第五天的股票信息
};
```
最后,我们编写主函数,计算从第二个交易日开始每天的当日涨幅(按收盘价计):
```c++
int main() {
for (int i = 1; i < 5; i++) {
double close1 = stocks[i-1].getClose(); // 前一天的收盘价
double close2 = stocks[i].getClose(); // 当天的收盘价
double increase = (close2 - close1) / close1 * 100; // 当天的涨幅
cout << "第" << i+1 << "天的涨幅为:" << increase << "%" << endl;
}
return 0;
}
```
输出结果如下:
```
第2天的涨幅为:-1.54639%
第3天的涨幅为:-1.04167%
第4天的涨幅为:2.10526%
第5天的涨幅为:2.04082%
```
注意,这里计算涨幅的公式为:`(当天收盘价-前一天收盘价)/前一天收盘价 * 100%`。并且,第一天没有涨幅,所以从第二天开始计算。