C++相隔天数

来源:百度知道 编辑:UC知道 时间:2024/06/03 01:17:29
有谁可以帮我把这个程序有C++改写一下,用面向对向的方法,给个思路也行,想半天了。谢谢大家了
#include<stdio.h>
#include<windows.h>
int day(int y,int m,int d)
{ int day_month[][13]={{0,31,28,31,30,31,30,31,31,30,31,30,31},{0,31,29,31,30,31,30,31,31,30,31,30,31}};
int i,j;
i=(y%400==0)||(y%4==0&&y%100!=0)==0;

for(j=1;j<m;j++)
d=d+day_month[i][j];

return(d);
}
void main()
{
int Py,Pm,Pd,Ny,Nm,Nd,mm=12,md=31,M=0,i,j,N;
int day();
printf("编写人: 电话:15260\n");
printf("....................................\n");
printf("请输入起始日期:(格式:xxxx,xx,xx)\n");
scanf("%d,%d,%d",&Py,&Pm,&Pd);
printf("请输入截止日期:(格式:xxxx,xx,xx)\n");
scanf("%d,%d,%d",&Ny,&Nm,&Nd);
if(Py>9999&&Py<1000&&Pm>12&&Pm<1&&Pd<1&&Pd>31&&Ny>9999&&Ny<1000&&Nm>12&&Nm<1&&Nd<1&&Nd>31) {printf("你输入的数据

封装性不够良好..实在是不好改了
但好歹也是面向对象思想

#include<iostream>
#include<windows.h>
using namespace std;
const int day_month[2][13] = {{0,31,28,31,30,31,30,31,31,30,31,30,31},{0,31,29,31,30,31,30,31,31,30,31,30,31}};
class Day
{
public:
int i,j,N;
Day();
int day(int = 0, int = 0, int = 0);
Day Day::cal(Day &D);
int Py,Pm,Pd,Ny,Nm,Nd,mm,md,M;

};
Day::Day()
{
int y1,y2,m1,m2,d1,d2;
cout << "编写人: 电话:15260\n";
cout << "....................................\n";
cout << "请输入起始日期:(格式:xxxx xx xx)\n";
cin >> y1 >> m1 >> d1;
cout << "请输入截止日期:(格式:xxxx xx xx)\n";
cin >> y2 >> m2 >> d2;
Py = y1;
Pm = m1;
Pd = d1;
Ny = y2;
Nm = m2;
Nd = d2;
mm = 12;
md = 31;
M = 0;
}
int Day::d