| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 7268 人关注过本帖
标题:我运用DEV-C++ 编写程序,在#include<stdafx.h>这里报错
只看楼主 加入收藏
sunshine萝卜
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2016-1-1
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:4 
我运用DEV-C++ 编写程序,在#include<stdafx.h>这里报错
下面就是我的程序,如果加上 #include<stdafx.h> 显示 [Error] stdafx.h: No such file or directory
但是去掉的话,全篇程序都会出现问题,望大家给我指导一下,谢谢。

#include<stdafx.h>
#include<iostream>
using namespace std;

class Cylinder
{
    private:
        float radius,high;
    public:
        Cylinder(float r,float h);
        float Low Area(void);
        float Superficial Area(void);
        float Volume(void);
};

Cylinder::Cylinder(float r,float h):radius(r),high(h){
}

float Cylinder::Low Area(void){
    return 3.14*r*r;
}

float Cylinder::Superficial Area(void){
    return 2*3.14*r*r+(2*r*3.14)*h;
}

float Cyliner::Volume(void){
    return 3.14*r*r*h;
}

void main()
{
    float r,h;
    cout<<"输入圆柱的底面半径和高:";
    cin>>r>>h;
    Cyliner circle(r,h);
    cout<<"底面积为"<<circle.Low Area()<<endl;
    cout<<"表面积为"<<circle.Superficial Area()<<endl;
    cout<<"体积为"<<circle.Volume()<<endl;
   
    System ("pause");
    return 0;
}
搜索更多相关主题的帖子: 编写程序 include private public file 
2017-03-03 13:29
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9007
专家分:53942
注 册:2011-1-18
收藏
得分:0 
如果加上 #include<stdafx.h> 显示 [Error] stdafx.h: No such file or directory
但是去掉的话,全篇程序都会出现问题

“出问题”那就根据编译器的错误信息将之改正确呗!难道这不是唯一正确的处理手段吗?
2017-03-03 13:37
sunshine萝卜
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2016-1-1
收藏
得分:0 
回复 2楼 rjsp
可是我的是那种全篇都报错的那种,同学也说,看不出来问题
2017-03-03 13:50
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9007
专家分:53942
注 册:2011-1-18
收藏
得分:20 
以下是引用sunshine萝卜在2017-3-3 13:50:27的发言:

可是我的是那种全篇都报错的那种,同学也说,看不出来问题

因为你的代码本来就是通篇错误;你的同学看不出来很正常,人不可能天生知道C/C++语法。

我似乎明白了,
在不加 #include<stdafx.h> 时,编译器爆出一大堆的错误信息,而在加了 #include<stdafx.h> 之后编译器只报了一条错误信息,
所以你误以为加 #include<stdafx.h> 是有益的。

如果是这样的话,我来个打个比方:
小明被人揍了一顿,全身骨折,小红将他送医院,医生检查之后,列出了一大堆病症:
    01号骨头断裂
    02号骨头断裂
    03号骨头断裂
    ……
    一共200根骨头断裂。
小红想,这么多骨折要医治很久吧?灵机一动,把小明埋在一堆狗屎中再次送给医生检查。果然,这次医生的检验报告就短多了,只有区区一条:“有个神经病送了一坨屎来医院让我检查。”
只要将病人埋在屎堆中,那么病症就会只剩下一条,小红为自己的智慧而骄傲。

正确的代码,应该如下写:
程序代码:
#ifndef M_PI
#define M_PI 3.14159265358979323846
#endif

class cylinder
{
public:
    cylinder( double r, double h );
    double low_area( void ) const;
    double superficial_area( void ) const;
    double volume( void ) const;
private:
    double radius_, high_;
};

cylinder::cylinder( double r, double h ) : radius_(r), high_(h)
{
}

double cylinder::low_area( void ) const
{
    return M_PI*radius_*radius_;
}

double cylinder::superficial_area( void ) const
{
    return 2*low_area() + (2*M_PI*radius_)*high_;
}

double cylinder::volume( void ) const
{
    return low_area()*high_;
}

#include <iostream>
using namespace std;

int main( void )
{
    double r,h;
    cout << "输入圆柱的底面半径和高:";
    cin >> r >> h;
    cylinder circle(r,h);
    cout << "底面积为" << circle.low_area()         << '\n';
    cout << "表面积为" << circle.superficial_area() << '\n';
    cout << "体积为"   << circle.volume()           << endl;

    return 0;
}


2017-03-03 14:55
sunshine萝卜
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2016-1-1
收藏
得分:0 
回复 4楼 rjsp
我知道错误在哪里了,谢谢解答!还有我也不是智商低到不行不行,用不着打这么个比方。
2017-03-03 17:10
快速回复:我运用DEV-C++ 编写程序,在#include<stdafx.h>这里报错
数据加载中...
 
   



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

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