| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 412 人关注过本帖
标题:求助:想设计一个程序输出三个大小不同的方框的面积,但老是出错。。。
只看楼主 加入收藏
wxz11191975
Rank: 1
等 级:新手上路
帖 子:98
专家分:0
注 册:2011-6-20
结帖率:85.29%
收藏
已结贴  问题点数:20 回复次数:2 
求助:想设计一个程序输出三个大小不同的方框的面积,但老是出错。。。
这是自考C++配套的练习册上的一个题,结果老是出错,应该是我对知识点的掌握不够到位,烦请高手帮我看看,错在哪里了。多谢!
#include <iostream>
using namespace std;
class box{
    int len;
    int wid;
    box *abox;
public:
    box();
    void set(int nlen,int nwid);
    int garea();
    void pnext(box *p);
    box *gnext();
};
box::box(){
    len=10;wid=8;abox=NULL;
}
void box::set(int nlen,int nwid){
        len=nlen;wid=nwid;
}
int box::garea(){
    return len*wid;
}
void box::pnext(box *p){
    p=abox;
}
box *box::gnext(){
    return abox;
}
void main(){
    box i[3];
    i[0].set(7,5);
    i[1].set(12,10);
    i[2].set(20,15);
    box *bp;
    for(int j=0;j<3;j++){
    bp=&i;
    cout<<"指向的方框是第"<<j<<"个"<<endl;
    cout<<"第"<<j<<"个方框的面积是:"<<i.garea()<<endl;
    bp=bp->gnext(j);
}
}
搜索更多相关主题的帖子: void public return include 
2012-08-31 17:01
pangding
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:北京
等 级:贵宾
威 望:94
帖 子:6784
专家分:16751
注 册:2008-12-20
收藏
得分:20 
main 函数改成:
程序代码:
int main(){
    box i[3];
    i[0].set(7,5);
    i[1].set(12,10);
    i[2].set(20,15);
    box *bp;
    for(int j=0;j<3;j++){
    bp=&i[j];
    cout<<"指向的方框是第"<<j<<""<<endl;
    cout<<""<<j<<"个方框的面积是:"<<bp->garea()<<endl;
    // bp=bp->gnext(j);
    }
}

你写的这个代码思路有点乱:
你定义的时候给了一个 abox 这个指针,意思好像是要弄成链表的样子。但是你所有的函数都没有设置过这个指针(除了一个默认构造函数)。
而且后面实际写的代码是用的数组,没有用链表的必要。我就是给你改成用数组的形式了。
另外其实 main 里的 bp 也有点多余,直接用 i[j].garea() 就行了。
2012-08-31 23:15
wxz11191975
Rank: 1
等 级:新手上路
帖 子:98
专家分:0
注 册:2011-6-20
收藏
得分:0 
谢谢,确实是有点乱的。因为练习册很可能是故意印错的,所有这部分的习题全部不是有这样小错这有那样小错,调出个正确的答案来还不容易的。而且我刚学,知识点掌握得不够精准,所以改来改去就有点乱了。谢谢!

不管怎么样,谢谢您的帮助!
2012-09-01 12:22
快速回复:求助:想设计一个程序输出三个大小不同的方框的面积,但老是出错。。。 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.031329 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved