输出一个赋值给c++双精度数组元素的字符串
Output a string thats assigned to an element in a double Array in C++
嘿,我有一个很简单的问题要回答。我将数组中的元素赋值为字符串值。我希望我的代码输出字符串而不是元素值。下面是一个例子:
double stock[5] = {249.99,49.99,13.99,449.99,59.99};
double Beats = stock[0];
double iPod = stock[1];
std::cout << "Okay, you purchased " << stock[0] << endl;
我想要的输出是"ok,你购买了Beats。"。我收到的输出是"好的,您购买了249.99。"
我如何使它打印字符串而不是值?
您可能需要某种容器,可能是struct
, class
或pair
。下面是一个示例(使用pair
):
#include <utility>
#include <string>
...
std::pair <std::string,double> stock [5];
stock[0]=std::make_pair("Beats",249.99);
...
std::cout << "Okay, you purchased " << stock[0].first << "." << endl;
这将输出你想要的内容("好的,你购买了Beats.")。
可以使用stock[i].first
访问第一个元素(名称,作为字符串),使用stock[i].second
访问第二个元素(值,作为双精度类型)。
string items[5] = {"Beats", "iPod", "CD", "Vinyl", "Sheet"};
std::cout << "Okay, you purchased " << items[0] << endl;
如果你还想维护数字(即stock
),你需要一些更复杂的东西
我假设您需要显示已购买的商品和价格。如果是这样,你可能需要以下内容:
#include <iostream>
using namespace std;
struct item_struct
{
std::string item;
double price;
item_struct(string _item, double _price)
{
item = _item;
price = _price;
}
};
int main() {
item_struct *stock[5] = {new item_struct("Beats", 249.99),
new item_struct("iPod", 49.99),
new item_struct("CD", 13.99),
new item_struct("iPone", 899.99),
new item_struct("Nexus 5", 499.99)
};
std::cout << "Okay, you purchased " << stock[0]->item << endl;
std::cout << "Okay, you purchased " << stock[3]->item
<< " at the price of " << stock[3]->price
<< endl;
return 0;
}
结果:Okay, you purchased Beats
Okay, you purchased iPone at the price of 899.99
相关文章:
- 如何防止 c++ 在从浮点型转换为双精度型(不适用于 IO)时添加额外的小数?
- 正在将csv文件读取为双精度矢量
- 我可以信任表示整数的浮点或双精度来保持精度吗
- 如何在C++中的同一函数中使用字符串和双精度
- 特征::矩阵<双精度,1,3> 结构类型函数中的返回类型函数
- 检查是否以特定精度给出双精度
- 转换函数,将 std::数组的双精度作为参数或双精度作为参数单独转换
- C 字符串返回字符串的整数/双精度/长整型值
- 为什么将双精度转换为 int 似乎在第 16 位数字之后将其四舍五入?
- 如何使双精度值的 C++ 和 C# 中的结果相同
- 使用浮点数和双精度数的非常小数字的数学
- 使用 Xcode 将双精度存储在数组C++中
- 在 C++ 中将双精度变量写入二进制文件
- 如何从字符串转换为双精度*
- 为什么我的数组双精度函数不起作用?
- 高精度双精度的 Sprintf 格式化问题
- C++ cout 将双精度对齐到精度 2 并正确对齐
- 将指针数组分配给双精度
- C++如何将字符串逐行转换为双精度
- 长双精度C++是IEEE二进制128的实现吗?