看C++premier plus第四章课后题第九题有这样一道题:
结构CandyBar包含3个成员。第一个成员存储了糖块的品牌,第二个成员存储糖块的重量(小数),第三个成员存储了糖块的卡路里含量(整数)。
创建一个包含3个元素的CandyBar数组,使用new来动态分配数组,并初始化,然后显示。
刚自学C++,网上没搜到答案,所以来论坛发帖。
结构CandyBar包含3个成员。第一个成员存储了糖块的品牌,第二个成员存储糖块的重量(小数),第三个成员存储了糖块的卡路里含量(整数)。
创建一个包含3个元素的CandyBar数组,使用new来动态分配数组,并初始化,然后显示。
刚自学C++,网上没搜到答案,所以来论坛发帖。
解决方案
10
struct CandyBar{ string brand; double weight; int calorie; }; struct CandyBar* pCandyBar = new struct CandyBar[3]; ...
10
结构体定义
struct CandyBar { string a; //糖块的品牌 double b; //储糖块的重量(小数) int c; //卡路里含量(整数) };
动态分配,你可以修改数组大小:
CandyBar *bar = new CandyBar[5];
赋值,当然你也可以本人输入:
for(int i = 0;i < 3;i ++) { bar[i].a = "fwe"; bar[i].b = 1.1; bar[i].c = 3; }