C++,或者C语言中,利用h文件(头文件)联系多个cpp文件(源文件),VC++6.0软件、VS code软件、stm32单片机里面都能使用

1.简要说明:

        多个cpp文件中只能存在一个main 函数,即只能在一个cpp文件中写main()这个函数,其他cpp文件里面都要用别的函数名来表示。

        相当于一个cpp文件里面用来写主函数,其他的cpp文件里面写子函数,通过h文件来使他们建立关系,让主函数来调用其他的cpp文件里面的子函数。

2.举例(在VC++6.0里面运行成功):

        整个工程分为三个源文件(cpp文件)和两个头文件(h文件),这几个文件都是分开的、单独的。

count_all_area.cpp

这个文件是来写主函数的,用来计算面积和的(作为主函数文件)。

square_area.cpp

这个cpp文件是用来计算正方形面积的(作为子函数文件)。

triangle_area.cpp

这个cpp文件是用来计算三角形面积的(作为子函数文件)。

square_area.h,triangle_area.h是作为count_all_area.cpp和square_area.cpp,triangle_area.cpp沟通的桥梁。

注意:

        #include "square_area.h"和#include "triangle_area.h"就是在count_all_area.cpp源文件中引用square_area.cpp,triangle_area.cpp的关键。

以下分别是几个文件的程序:

//count_all_area.cpp文件//

#include "stdio.h"
#include "math.h"

#include "square_area.h"
#include "triangle_area.h"

//输入正方形的边长,点击回车键就能计算正方形的面积
//再输入三角形的三个边的边长,注意输入时输一个边长后需要加上一个“,”(逗号),
//输入完成后点击回车就能计算三角形的面积
//完成上诉操作时,在主函数里面就会计算出正方形面积和三角形面积之和
void main()
{
    double a,b;
    a=square_area();
    b=triangle_area();
    double sum_all_area;
    sum_all_area=a+b;
    printf("sum_all_area:%7.2f\n",sum_all_area);
}

//square_area.cpp文件//

#include "stdio.h"
#include "math.h"

#include "square_area.h"
double square_area()
{
    double a,area;
    printf("please input one number to form square\n");
    scanf("%lf",&a);
    area = a*a;
//    printf("%7.2g,%7.2f\n",a,area);
    printf("square_area:%7.2f\n",area);
    return  area;
}

//triangle_area.cpp文件//

#include "stdio.h"
#include "math.h"

#include "triangle_area.h"
double triangle_area()
{
double a,b,c,s,area;

ture_false:    printf("please input three number to form triangle\n");
            scanf("%lf,%lf,%lf",&a,&b,&c);
            if((a+b>c)&&(a+c>b)&&(c+b>a)&&(a-b<c)&&(a-c<b)&&(c-b<a))
            {

                s=(a+b+c)/2.0;
                 area = sqrt(s*(s-a)*(s-b)*(s-c));
        //        printf("%7.2g,%7.2g,%7.2g,%7.2g,%7.2f\n",a,b,c,s,area);
                printf("triangle_area:%7.2f\n",area);
                return  area;
            }
            else
            {

                printf("!!! input error ,please input another three number to form triangle again !!!\n");
                goto ture_false;
            }

}

//square_area.h文件//

#ifndef __square_area_H
#define __square_area_H

double square_area() ;

#endif

//triangle_area.h文件//

#ifndef __triangle_area_H
#define __triangle_area_H

double  triangle_area();

#endif

  • 4
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值