第三周项目3-程序的多文件组织

利用多文件组织,重新实现项目2。其中,整个项目包括3个文件:

主文件: main.cpp,用于定义main()函数

头文件: triangle.h,头文件,声明类,定义内置成员函数

类定义文件: triangle.cpp,用于定义类Triangle中其他成员函数

注意,将3个set函数和3个get函数设计成内置成员函数,其他函数不作为内置函数。

main.cpp

/*
* Copyright (c) 2015,烟台大学计算机学院
* All right reserved.
* 作者:邵帅
* 文件:Demo.cpp
* 完成时间:2015年03月21日
* 版本号:v1.0
*/
#include<iostream>
#include<cmath>
#include<C:\Users\Mayuko2012\Desktop\Demo\triangle.h>
using namespace std;
int main()
{
    Triangle tri1;	//定义三角形类的一个实例(对象)
    double x,y,z;
    cout<<"请输入三角形的三边:";
    cin>>x>>y>>z;
    tri1.setA(x);
    tri1.setB(y);
    tri1.setC(z);	//为三边置初值
    if(tri1.isTriangle())
    {
        cout<<"三条边为:"<<tri1.getA()<<','<<tri1.getB()<<','<<tri1.getC()<<endl;
        cout<<"三角形的周长为:"<< tri1.perimeter()<<'\t'<<"面积为:"<< tri1.area()<<endl;
    }
    else
        cout<<"不能构成三角形"<<endl;
    return 0;
}

triangle.cpp

#include<C:\Users\Mayuko2012\Desktop\Demo\triangle.h>\\自定义的头文件需要绝对路径
#include<cmath>
bool Triangle::isTriangle()
{
    if (a+b>c && a+c>b && b+c>a)
        return true;
    else
        return false;
}
double Triangle::perimeter()
{
    return (a+b+c);
}
double Triangle::area()
{
    double p,s;
    p=(a+b+c)/2;
    s=sqrt(p*(p-a)*(p-b)*(p-c));
    return s;
}

triangle.h

#ifndef TRIANGLE_H_INCLUDED
#define TRIANGLE_H_INCLUDED
class Triangle
{
public:
    void setA(double x)
    {
        a=x;
    };
    void setB(double y)
    {
        b=y;
    };
    void setC(double z)
    {
        c=z;
    };
    double getA()
    {
        return a;
    };
    double getB()
    {
        return b;
    };
    double getC()
    {
        return c;
    };
    double perimeter(void);//计算三角形的周长
    double area(void);//计算并返回三角形的面积
    bool isTriangle();//判断是否构成三角形
private:
    double a,b,c; //三边为私有成员数据
};

#endif // TRIANGLE_H_INCLUDED

run pic:

@ Mayuko

时间: 2024-10-18 01:37:31

第三周项目3-程序的多文件组织的相关文章

三周学会小程序第二讲:客户端代码准备和基础功能讲解

通过上一讲大家已经申请了小程序了,这一讲我们主要讲解三部分,小程序开发工具使用,客户端代码准备,和基础的客户端讲解,并且运行第一预览版本. 本文不会带你从零搭建一个小程序,而是直接提供一个可预览版本.总结小编自己的编程经历,如果让你从基本类型,控制语句,for循环开始学 JAVA,那么可能几个月以后你才能真正动手做项目,所以我们按照"拿来主义",直接拿来就读,读懂就改,改完就上线.不过你不用担心这样学习的不彻底,因为开发过程中你已经融会贯通了. 代码准备 想必大家都用过Github吧,

第三周项目2-三角形类(二)

程序功能同项目1,main()函数如下,请重新定义Triangle类,其中逻辑特别简单的set和get成员函数,要处理为内置成员函数,直接在类内定义. /* * Copyright (c) 2015,烟台大学计算机学院 * All right reserved. * 作者:邵帅 * 文件:Demo.cpp * 完成时间:2015年03月21日 * 版本号:v1.0 */ #include<iostream> #include<cmath> using namespace std;

第三周项目三 三角形多文件处理

[项目3-用多文件组织多个类的程序] 将项目2用"一个项目多个文件"的方式实现,其中两个类的声明放在同一个.h文件中,每个类的成员函数分别放一个文件,main()函数用一个文件.体会这样安排的优点. main 函数: #include <iostream> #include <cmath> #include "need.h" using namespace std; int main() { CPoint X(2,5),Y(5,2),Z(7,

第三周作业 --- 阅读程序

这周老师布置了一个阅读程序的作业. 问题如下: 阅读下面程序,请回答如下问题: 问题1:这个程序要找的是符合什么条件的数? 问题2:这样的数存在么?符合这一条件的最小的数是什么? 问题3:在电脑上运行这一程序,你估计多长时间才能输出第一个结果?时间精确到分钟(电脑:单核CPU 4.0G Hz,内存和硬盘等资源充足). 问题4:在多核电脑上如何提高这一程序的运行效率? using System; using System.Collections.Generic; using System.Text

第三周 项目一 三角形类(1)

/* *Copyright (c) 2015,烟台大学计算机学院 *All rights reserved. *文件名称 : main.cpp *作 者 :韩娟 *完成日期 :2015年4月5日 *版 本 号 :v1.0 *问题描述 :设计三角形类,通过增加构造函数,使对象在定义时能够进行初始化,可以由下面的类声明开始,需要自己实现相关的成员函数,以及增加要求的构造函数 *输入描述 :略 *程序输出 :略 */ #include<iostream> #include<Cmath>

第三周 项目一 三角形类(2)

/* *Copyright (c) 2015,烟台大学计算机学院 *All rights reserved. *文件名称 : main.cpp *作 者 :韩娟 *完成日期 :2015年4月5日 *版 本 号 :v1.0 *问题描述 :设计默认构造函数,即不指定参数时,默认各边长为1 *输入描述 :略 *程序输出 :略 */ #include<iostream> #include<Cmath> using namespace std; class Triangle { public

第三周 项目一 三角形类(3)

/* *Copyright (c) 2015,烟台大学计算机学院 *All rights reserved. *文件名称 : main.cpp *作 者 :韩娟 *完成日期 :2015年4月5日 *版 本 号 :v1.0 *问题描述 :使用有默认参数的构造函数,不给定实参时,默认边长为1:注意--这个版本也只需要一个构造函数即可 *输入描述 :略 *程序输出 :略 */ #include<iostream> #include<Cmath> using namespace std;

第三周 项目一 三角形类(4)

/* *Copyright (c) 2015,烟台大学计算机学院 *All rights reserved. *文件名称 : main.cpp *作 者 :韩娟 *完成日期 :2015年4月5日 *版 本 号 :v1.0 *问题描述 :在构造函数中使用参数初始化表对数据成员初始化,这是一种更加提倡的写法. *输入描述 :略 *程序输出 :略 */ #include<iostream> #include<Cmath> using namespace std; class Triang

小棒组合第三周项目总结

项目进展 这周我们着手于主窗体和数据库的编写与调试,并已经成功运行主窗体部分 项目数据库原理: 通过Dao.java来建立数据库连接池,此类是java与数据库连接的桥梁. 1.在成员变量中我们声明了数据库的引擎,数据库的连接,用户名,密码等等.. protected static String dbClassName = "com.microsoft.jdbc.sqlserver.SQLServerDriver"; protected static String dbUrl = &qu