编写矩形类C++ 计算日期差C语言

 C语言基础练习——结构题

 计算日期差

【问题描述】
结构
struct Date {
   int year;
   int month;
   int day;
};
利用该结构编写一个程序用来计算两个日期之间相差的天数。
 
【输入形式】
输入两个日期,每个日期分占一行,在一行中日期的年、月、日是三个整数,以空格分隔。并假设第二个日期大于或等于第一个日期。
【输出形式】
第二个日期与第一个日期间相差的天数。
【输入样例】

2003 3 25 
2003 3 29

【输出样例】

4

以前还比较菜,总体是C语言,但放在C++环境下应该也没有问题

#include<stdio.h>
#include"math.h"
#include"string.h"

    struct Date
    {
        int year;
        int month;
        int day;
    };

int main()
{
    struct Date day1,day2;
    scanf("%d%d%d",&day1.year,&day1.month,&day1.day);
    scanf("%d%d%d",&day2.year,&day2.month,&day2.day);
    int monthday[12]={31,28,31,30,31,30,31,31,30,31,30,31};
    int flag;
    if(day1.year!=day2.year)
    {
        int y;
        y=day2.year-day1.year;
        flag=(y)*365;
        int i;
        for(i=day1.year;i<day2.year;i++)
        {
            if((i%4==0&&i%100!=0)||i%400==0)
            {
                flag=flag+1;
            }
        }
        int sum1,sum2;
        sum1=day1.day;sum2=day2.day;
        for(i=0;i<day1.month-1;i++)
            sum1+=monthday[i];
        if(((day1.year%4==0&&day1.year%100!=0)||day1.year%400==0)&&day1.month>2)
            sum1=sum1+1;
        for(i=0;i<day2.month-1;i++)
            sum2+=monthday[i];
        if(((day2.year%4==0&&day2.year%100!=0)||day2.year%400==0)&&day2.month>2)
            sum2=sum2+1;
        flag=flag-sum1+sum2;
    }
    else
    {
        int sum1,sum2,i;
        sum1=day1.day;sum2=day2.day;
        for(i=0;i<day1.month-1;i++)
            sum1+=monthday[i];
        if(((day1.year%4==0&&day1.year%100!=0)||day1.year%400==0)&&day1.month>2)
            sum1=sum1+1;
        for(i=0;i<day2.month-1;i++)
            sum2+=monthday[i];
        if(((day2.year%4==0&&day2.year%100!=0)||day2.year%400==0)&&day2.month>2)
            sum2=sum2+1;
        flag=sum2-sum1;
    }
    printf("%d",flag);
    return 0;

}

编写矩形类

【问题描述】

编写程序求长方形的周长和面积
【样例输入输出】

Input the Length and Width: 12 23
The Area is:276
The Premeter:70
#include <iostream>
class Rectangle                           
{
public:
	Rectangle(void);
	 Rectangle(float length,float width);  
	~Rectangle(void);       	
	    float getArea();                  
	    float getGirth();                  
private:
	    float mLength;                    
		float mWidth;                      
};
#include <iostream>

using namespace std;

Rectangle::Rectangle(float mLength,float mWidth)
    :mLength(mLength),mWidth(mWidth){}
float Rectangle::getArea()
{
    return mLength*mWidth;
}
float Rectangle::getGirth()
{
    return (mLength+mWidth)*2;
}
Rectangle::~Rectangle(){

}

int main()
{
	float m, n;                                     
	cout << "Input the Length and Width: ";
	cin >> m >> n;                                 
	Rectangle r1(m,n);     
    cout<<"The Area is: "<<r1.getArea()<<endl;
    Rectangle r2(m,n);
    cout<<"The Perimeter: "<<r2.getGirth()<<endl;
}


 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Kun.A.A

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值