当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 12 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : [请教]谁能帮我做个题(做好了)
帖子发表于 : 2007-08-14 23:47 
头像

注册: 2007-07-26 12:40
帖子: 109
地址: 南京
送出感谢: 0 次
接收感谢: 0 次
我最近研读C++ Primer Plus
刚读完第4章,但是第四章编程练习最后一题想了半天也没搞定,我是自学,周围又没有可以请教的人,上网找答案下载下来的rar包里几百个文件,命名又是乱七八糟,实在没法找......
想了半天决定来这里求救....
我把题目抄出来,哪位好心人能帮我做做,我感激不尽:

结构CandyBar包含3个成员。第一个成员存储了糖块的品牌;第二个成员存储糖块的重量(可以有小数);第三个成员存储了糖块的卡路里含量(整数)。请编写一个程序,声明这个结构,使用new来动态分配数组,该数组包含3个CandyBar结构的元素。将它们初始化并显示其内容。

(其实原题是这样的,我怕我自己因为理解问题表达失误:
4.11编程练习
1..........
2..........
3..........
4..........
5.结构CandyBar包含3个成员。第一个成员存储了糖块的品牌;第二个成员存储糖块的重量(可以有小数);第三个成员存储了糖块的卡路里含量(整数)。请编写一个程序,声明这个结构,创建一个名为snake的CandyBar变量........
6.结构CandyBar包含3个成员,如编程练习5所示。请编写一个程序,创建一个包含3个元素的CandyBar数组,并将它们初始化为所选的值,然后显示每个结构的内容。
7..........
8..........
9.完成编程练习6,但使用new来动态分配数组,而不是声明一个包含3个元素的CandyBar数组。)


_________________
But for Ubuntu, I will die.


最后由 levin 编辑于 2007-08-15 13:37,总共编辑了 3 次

页首
 用户资料  
 
2 楼 
 文章标题 :
帖子发表于 : 2007-08-15 0:41 

注册: 2007-05-06 10:39
帖子: 250
送出感谢: 0 次
接收感谢: 0 次
你在自学,不在上学!
代码:
#include<iostream>
int main()
{
   struct CandyBar{char brand[12]; double heft; int calorie;};
   CandyBar snack={"Mocha Munch",2.3,350};
   std::cout<<"snack:\n"
            <<"brand: "<<snack.brand<<std::endl
            <<"heft: "<<snack.heft<<std::endl
            <<"calorie: "<<snack.calorie<<std::endl;
   return 0;

ps:我也在读


页首
 用户资料  
 
3 楼 
 文章标题 :
帖子发表于 : 2007-08-15 7:39 
头像

注册: 2007-07-26 12:40
帖子: 109
地址: 南京
送出感谢: 0 次
接收感谢: 0 次
谢谢楼上的 可是你理解错我的意思了 我想请教的是第9题,而你做的是第5题,第九题是由第六题演变而来,而第六题是由第5题演变而来的


_________________
But for Ubuntu, I will die.


页首
 用户资料  
 
4 楼 
 文章标题 :
帖子发表于 : 2007-08-15 7:55 
头像

注册: 2007-07-26 12:40
帖子: 109
地址: 南京
送出感谢: 0 次
接收感谢: 0 次
算了 我厚着脸皮把自己写的贴出来吧,其实我自己都觉得写的有点不是味 大家帮忙看看吧 如果能修改就帮忙改改 如果觉得写的太糟糕 好心人就自己写个贴出来吧
代码:
 1 #include <iostream>
 2 struct CandyBar
 3 {
 4    char name[20];
 5   float weight;
 6   int calorie;
 7 };
 8
 9 int main()
10 {
11   using namespace std;
12
13   CandyBar * pt = new CandyBar [3];
14   *pt = {"Mocha Munch", 2.3, 350};
15   *(pt + 1) = {"2nd name", 2.2, 222};
16
17   cout << "The snack info: name: " << (*pt).name << endl;
18   cout << "                weight: " << (*pt).weight << endl;
19   cout << "                calorie: " << (*pt).calorie << endl;
20   pt = pt + 1;
21
22   cout << "                name: " << (*pt).name << endl;
23   cout << "                weight: " << (*pt).weight << endl;
24   cout << "                calorie: " << (*pt).calorie << endl;
25   pt = pt - 1;
26   
27   delete [] pt;
28   return 0;
29 }


下面是g++的报错信息:
代码:
pluto@levin:~/ING/primerplus/4chapter/test/9$ g++ 9.cpp
9.cpp: In function ‘int main()’:
9.cpp:14: error: expected primary-expression before ‘{’ token
9.cpp:14: error: expected `;' before ‘{’ token
9.cpp:15: error: expected primary-expression before ‘{’ token
9.cpp:15: error: expected `;' before ‘{’ token


_________________
But for Ubuntu, I will die.


页首
 用户资料  
 
5 楼 
 文章标题 :
帖子发表于 : 2007-08-15 10:01 
头像

注册: 2006-02-27 20:19
帖子: 599
地址: works system
送出感谢: 0 次
接收感谢: 0 次
结构体能这么赋值?
大体给你改了一下,没有看题目,也不知道是不是符合要求,起码能编译过去了
引用:

#include <iostream>
#include <string>
using namespace std;

struct CandyBar
{
string name;
float weight;
int calorie;
};

int main()
{
CandyBar * pt = new CandyBar [3];
pt[0].name = "Mocha Munch";
pt[0].weight = 2.3;
pt[0].calorie = 350;
pt[1].name = "2nd name";
pt[1].weight = 2.2;
pt[1].calorie = 222;
cout << "The snack info: name: " << (*pt).name << endl;
cout << " weight: " << (*pt).weight << endl;
cout << " calorie: " << (*pt).calorie << endl;
pt = pt + 1;
cout << " name: " << (*pt).name << endl;
cout << " weight: " << (*pt).weight << endl;
cout << " calorie: " << (*pt).calorie << endl;
pt = pt - 1;

delete [] pt;
return 0;
}


_________________
东西路,南北走
十字路口人咬狗
拿起狗来打砖头
砖头咬了狗一口
图片


页首
 用户资料  
 
6 楼 
 文章标题 :
帖子发表于 : 2007-08-15 10:56 
头像

注册: 2007-04-28 21:38
帖子: 1026
送出感谢: 0 次
接收感谢: 0 次
不错。。。


_________________
thinkpad x61 2G DDR no cdrom
--------------------------------------------
ABS学习中
sed学习中
awk学习中
perl学习中
新手描述不清,老手猜测不到,胡乱指挥一通,后果难以预料


页首
 用户资料  
 
7 楼 
 文章标题 :
帖子发表于 : 2007-08-15 11:13 
头像

注册: 2007-07-26 12:40
帖子: 109
地址: 南京
送出感谢: 0 次
接收感谢: 0 次
谢谢5楼的 符合要求 能编译过了
问题是6楼的不错指的是什么呢? :?:


_________________
But for Ubuntu, I will die.


页首
 用户资料  
 
8 楼 
 文章标题 :
帖子发表于 : 2007-08-15 11:20 
头像

注册: 2007-07-26 12:40
帖子: 109
地址: 南京
送出感谢: 0 次
接收感谢: 0 次
普通的结构体应该可以这么赋值:
CandyBar snack={"Mocha Munch",2.3,350};

为什么这个动态数组这儿不可以呢?


_________________
But for Ubuntu, I will die.


页首
 用户资料  
 
9 楼 
 文章标题 :
帖子发表于 : 2007-08-15 12:15 
头像

注册: 2006-02-27 20:19
帖子: 599
地址: works system
送出感谢: 0 次
接收感谢: 0 次
呵呵,你这是声明的时候初始化的
改为CandyBar snack;
snack={"Mocha Munch",2.3,350};
就不行了,结构体不能这么赋值


_________________
东西路,南北走
十字路口人咬狗
拿起狗来打砖头
砖头咬了狗一口
图片


页首
 用户资料  
 
10 楼 
 文章标题 :
帖子发表于 : 2007-08-15 13:36 
头像

注册: 2007-07-26 12:40
帖子: 109
地址: 南京
送出感谢: 0 次
接收感谢: 0 次
原来如此
太谢谢了 说到要点上了


_________________
But for Ubuntu, I will die.


页首
 用户资料  
 
11 楼 
 文章标题 :
帖子发表于 : 2007-08-15 15:42 
头像

注册: 2005-04-06 21:15
帖子: 2200
地址: 安徽黄山
送出感谢: 0 次
接收感谢: 0 次
我靠,前面好多章的习题我全都做了,最后还是半途而废了.精神支持lz


_________________
生命不息,灌水不止,我师父是白娘子.另热烈庆祝本人blog访问量突破2w大关.
被高手bs,向小白显摆.


页首
 用户资料  
 
12 楼 
 文章标题 :
帖子发表于 : 2007-08-15 15:58 
头像

注册: 2006-10-21 12:03
帖子: 1746
地址: Shanghai
送出感谢: 0 次
接收感谢: 0 次
hoho...
你们都是强人。。
同样是 17 年了。我一点点也没看过~ :P


_________________
.

私人空间
附有 Magic Linux 2.1 最新开发日志~
引用:


미안하다, 사랑한다




欢迎来 #xfce-cn 中文频道~~


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 12 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 3 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译