如何打印(cout)嵌套结构变量
How do I print (cout) a nested structures variables
我需要弄清楚如何使 "inside struct candybar" 的“struct 零食”能够输出,但我无法弄清楚。我在互联网上和我的教科书中都看过了,但找不到任何有用的东西。
另外我怎样才能使数组 array 成为一个动态的 array 使用 new? 任何帮助都会很大赞赏。谢谢
#include <iostream>
#include <string>
#include <math.h>
#include <iomanip>
using namespace std;
int main(){
struct candybar
{
char name[15];
float weight;
int calories;
struct Snack
{
const char * name2 = "Mocha Munch";
double weight2 = 200;
int calories2 = 2;
};
};
candybar array[3] =
{
{"Kit-kat", 2.3, 250},
{"Hershey", 2.2, 252},
{"Snicker", 2.5, 255},
};
cout << array[0].name << " " << array[0].weight << " " << array[0].calories << endl;
cout << array[1].name << " " << array[1].weight << " " << array[1].calories << endl;
cout << array[2].name << " " << array[2].weight << " " << array[2].calories << endl;
return 0;
}
结构内部的结构不是这样定义的。你想把定义移到结构的外面
struct Snack
{
const char * name2 = "Mocha Munch";
double weight2 = 200;
int calories2 = 2;
};
struct candybar
{
char name[15];
float weight;
int calories;
Snack snack;
};
现在您的 candybar
中有一个 Snack
类型的成员 snack
并且可以访问它,例如 array[0].snack.name2
.
struct candybar
{
char name[15];
float weight;
int calories;
struct Snack
{
const char* name;
double weight2;
int calories2;
};
Snack snack;
};
candybar array[3] =
{
{"Kit-kat", 2.3, 250, {"a", 100, 100}},
{"Hershey", 2.2, 252,{"b", 200, 200}},
{"Snicker", 2.5, 255,{"c", 300, 300}}
};
我需要弄清楚如何使 "inside struct candybar" 的“struct 零食”能够输出,但我无法弄清楚。我在互联网上和我的教科书中都看过了,但找不到任何有用的东西。 另外我怎样才能使数组 array 成为一个动态的 array 使用 new? 任何帮助都会很大赞赏。谢谢
#include <iostream>
#include <string>
#include <math.h>
#include <iomanip>
using namespace std;
int main(){
struct candybar
{
char name[15];
float weight;
int calories;
struct Snack
{
const char * name2 = "Mocha Munch";
double weight2 = 200;
int calories2 = 2;
};
};
candybar array[3] =
{
{"Kit-kat", 2.3, 250},
{"Hershey", 2.2, 252},
{"Snicker", 2.5, 255},
};
cout << array[0].name << " " << array[0].weight << " " << array[0].calories << endl;
cout << array[1].name << " " << array[1].weight << " " << array[1].calories << endl;
cout << array[2].name << " " << array[2].weight << " " << array[2].calories << endl;
return 0;
}
结构内部的结构不是这样定义的。你想把定义移到结构的外面
struct Snack
{
const char * name2 = "Mocha Munch";
double weight2 = 200;
int calories2 = 2;
};
struct candybar
{
char name[15];
float weight;
int calories;
Snack snack;
};
现在您的 candybar
中有一个 Snack
类型的成员 snack
并且可以访问它,例如 array[0].snack.name2
.
struct candybar
{
char name[15];
float weight;
int calories;
struct Snack
{
const char* name;
double weight2;
int calories2;
};
Snack snack;
};
candybar array[3] =
{
{"Kit-kat", 2.3, 250, {"a", 100, 100}},
{"Hershey", 2.2, 252,{"b", 200, 200}},
{"Snicker", 2.5, 255,{"c", 300, 300}}
};