| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 684 人关注过本帖
标题:帮我优化一下!
只看楼主 加入收藏
Soul寂
Rank: 1
等 级:新手上路
帖 子:117
专家分:1
注 册:2008-9-29
结帖率:100%
收藏
 问题点数:0 回复次数:5 
帮我优化一下!
#include <iostream>
using namespace std;
int temp;
class CFT
{
private:
    double length;
    double width;
    double height;
    double S;
   
public:

    void set_value();
    void show_value();
   
};


void CFT::set_value()
{
    cout<<"please enter numbers for"<<" "<<temp<<":"<<endl;
    cout<<"length:";
    cin>>length;
    cout<<endl;
    cout<<"width:";
    cin>>width;
    cout<<endl;
    cout<<"height:";
    cin>>height;
    cout<<endl;
}
void CFT::show_value()
{
    S=length*width*height;
        cout<<"第"<<temp<<"个长方体的面积为:"<<S<<endl;
}

int main()
{
    CFT a;
    int n;
    cout<<"请输入你需要计算长方体的个数:";
    cin>>n;
    for(int i=0;i<n;i++)
    {
        temp=i+1;
        a.set_value();
        a.show_value();
      
    }
    return 0;
}


这里使用了两个函数:
void set_value();
void show_value();
分别来初始化长方体的各项数值,和计算长方体的体积。

大家可以看到,当要求的长方体不止一个的时候,使用for循环多次的调用void show_value()函数,这使用了很大的内存开销!

大家能不能帮我优化一下,不使用for循环来调用函数,而只在函数中调用n,也就将所要求的长方体的个数传给void show_value()函数

直接在void show_value()函数中多次计算,一次调用就可以求n个长方体的体积!
搜索更多相关主题的帖子: C++ 
2008-11-20 22:19
newyj
Rank: 2
等 级:新手上路
威 望:3
帖 子:542
专家分:0
注 册:2008-1-4
收藏
得分:0 
是这个意思?
程序代码:
#include <iostream>
using namespace std;

class CFT
{
private:
    static int temp;    
    double length;
    double width;
    double height;
    double S;
    
public:

    void show_value(int);
    
};
int CFT::temp=0;


void CFT::show_value(int k)
{
     for (int i=0;i!=k;++i)
     {
        cout<<"please enter numbers for"<<" "<<++temp<<":"<<endl;
        cout<<"length:";
        cin>>length;
        cout<<endl;
        cout<<"width:";
        cin>>width;
        cout<<endl;
        cout<<"height:";
        cin>>height;
        cout<<endl;   
        S=length*width*height;
        cout<<"第"<<temp<<"个长方体的面积为:"<<S<<endl;
     }   
}

int main()
{
    CFT a;
    int n;
    cout<<"请输入你需要计算长方体的个数:";
    cin>>n;
    a.show_value(n);
    system("pause");
    getchar();
    return 0;
}
2008-11-20 23:09
a19870502
Rank: 1
等 级:新手上路
帖 子:114
专家分:0
注 册:2007-10-31
收藏
得分:0 
楼上这样编的话,好像感觉就没有用temp的必要了吧~~~
2008-11-20 23:46
hitcolder
Rank: 1
等 级:新手上路
威 望:1
帖 子:124
专家分:0
注 册:2008-10-28
收藏
得分:0 
同感,不过好像满足楼主的要求了啊

不要在你的智慧中夹杂傲慢,也不要使你们的谦卑缺乏智慧的成分。
2008-11-21 09:29
Soul寂
Rank: 1
等 级:新手上路
帖 子:117
专家分:1
注 册:2008-9-29
收藏
得分:0 
感谢2楼!!!
2008-11-21 18:24
Soul寂
Rank: 1
等 级:新手上路
帖 子:117
专家分:1
注 册:2008-9-29
收藏
得分:0 
还要请教一下,为什么要设置temp为static变量:如程序所示: static int temp;   

程序中有 int CFT::temp=0;

使用这种赋值方式的变量,必须是static的吗?(我试过了如果不是static会出错!)
2008-11-21 18:37
快速回复:帮我优化一下!
数据加载中...
 
   



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

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