first off not girl date time dates.
I need to write a program that computes the number of days between two dates.
I have this which I "borrowed" from someone, I am lost otherwise Help a redman out PLEASE.
int ckdate(int mm,int dd,int yyyy);
int leapYear(int year);
void printMsg(int value);
void showDate(int type, int day, int mth, int year);
void getDate(int &mm, int &dd, int &yyyy); //pass by reference Alias
#include <iostream.h>
#include <conio.h>
#include <ctype.h>
#include <stdio.h>
void main()
{
int mm1,dd1,yyyy1,mm2,dd2,yyyy2,mm3,dd3,yyyy3,ret;
char cont, fill;
do
{
getDate(mm1, dd1, yyyy1);
ret=ckdate(mm1,dd1,yyyy1);
printMsg(ret);
showDate(1,dd1,mm1,yyyy1);
cout << "\n\n Enter date #2 = mm/dd/yyyy "; cin >>mm2 >> fill >> dd2 >> fill >> yyyy2;
ret=ckdate(mm2,dd2,yyyy2);
printMsg(ret);
showDate(2,dd2,mm2,yyyy2);
cout << "\n\n Enter date #3 = mm/dd/yyyy "; cin >>mm3 >> fill >> dd3 >> fill >> yyyy3;
ret=ckdate(mm3,dd3,yyyy3);
printMsg(ret);
showDate(3,dd3,mm3,yyyy3);
cout << "\n\n Continue y/n ";
cin >> cont;
}
while (toupper(cont) != 'N');
cout << "\n\nProgram completed\n";
}
int ckdate(int mm,int dd,int yyyy)
{
if( yyyy < 1000 || yyyy > 9999 )
return 1;
switch(mm)
{
case 1: case 3: case 5: case 7: case 8:
case 10: case 12:
if(dd > 31 || dd < 1)
return 3;
break;
case 4: case 6: case 9: case 11:
if(dd > 30 || dd < 1)
return 4;
break;
case 2:
if( leapYear(yyyy) == 1 )
{
if(dd < 1 || dd > 29)
return 5;
}
else
{
if(dd < 1 || dd > 28)
return 6;
}
break;
default:
return 2;
}
return 0;
}
int leapYear(int yyyy)
{
if(yyyy%400 == 0) //leap century
return 1;
int yy = yyyy%100; // find yy-99 from yyyy-1999
if (yy%4 == 0 && yy != 0)
return 1;
return 0;
}
void printMsg(int value)
{
switch(value)
{
case 0:
cout << "\n Good DATE";
break;
case 1:
cout << "\n Bad Year";
break;
case 2:
cout << "\n Bad Month";
break;
case 3:
cout << "\n Bad DAY not 1-31";
break;
case 4:
cout << "\n Bad Day not 1-30";
break;
case 5:
cout << "\n Bad Day not 1-29";
break;
case 6:
cout << "\n Bad Day not 1-28";
break;
default:
cout << "\n Bad RET CODE";
}
}
void showDate(int type, int day, int mth, int year)
{
cout << "\n ";
switch(type)
{
case 1:
cout << mth << "/" << day << "/" << year;
break;
case 2:
cout << day << "/" << mth << "/" << year;
break;
case 3:
cout << year << "/" << mth << "/" << day;
break;
}
}
void getDate(int &mm, int &dd, int &yyyy)
{
char fill;
cout << "\n\n Enter date = mm/dd/yyyy "; cin >>mm >> fill >> dd >> fill >> yyyy;
}