I need help on how to write a program that determines the number of days between two dates input by the user...u have to use at leat one loop structure and i dont know where to start...can someone please help me...i have the input by the user down i jus need help with the loops.. thx
moffett018@aol
0
Newbie Poster
Recommended Answers
Jump to Postcan you post that code? i dont know y you need the loop...
Jump to PostReread chandra.rajat's post and do what he said.
Jump to PostSince your post is unreadable, please read the Rules as requested when you signed up, the post titled Read Me: Read This Before Posting (the title says it all), and don't ignore the words on the background of the box you entered your post into.
All 10 Replies
Agni
370
Practically a Master Poster
Featured Poster
can you post that code? i dont know y you need the loop...
moffett018@aol
0
Newbie Poster
My instructor says its mandatory..i guess to see if we know how to do it, im tryin to figure out how i could use it..btw its C++.
Must have:
at least one if statement = i did that
at least one switch statement = i did that
at least one loop structure = confused on how to use that one
at least 2 functions value returning r void = i have an idea on that one
any help is appreciated :)
WaltP
2,905
Posting Sage w/ dash of thyme
Team Colleague
Reread chandra.rajat's post and do what he said.
moffett018@aol
0
Newbie Poster
Its kinda long but here it is...
// Program assignment #1
// Brandon Moffett
#include <string>
#include <iostream>
#include <iomanip>
#include <fstream>
using namespace std;
// function prototypes
int main()
{
int mm,dd,yy,mm2,dd2,yy2,maxdays,day;
char s,s2;
//prompt the user for input
cout << "Please input your birthday using this format (MM-DD-YYYY)\n";
cin >> mm;
cin.get(s);
cin >> dd;
cin.get(s);
cin >> yy;
cout << "Please input the current date using this format (MM-DD-YYYY)\n";
cin >> mm2;
cin.get(s2);
cin >> dd2;
cin.get(s2);
cin >> yy2;
switch (mm)
{
case 1: maxdays = 31;
if (dd <= maxdays)
cout << "Dates are acceptional, please continue...\n";
else
cout << "Invalid day of the month : " << dd << endl;
break;
case 3:maxdays = 31;
if (dd <= maxdays)
cout << "Dates are acceptional, please continue...\n";
else
cout << "Invalid day of the month : " << dd << endl;
break;
case 5:maxdays = 31;
if (dd <= maxdays)
cout << "Dates are acceptional, please continue...\n";
else
cout << "Invalid day of the month : " << dd << endl;
break;
case 7:maxdays = 31;
if (dd <= maxdays)
cout << "Dates are acceptional, please continue...\n";
else
cout << "Invalid day of the month : " << dd << endl;
break;
case 8:maxdays = 31;
if (dd <= maxdays)
cout << "Dates are acceptional, please continue...\n";
else
cout << "Invalid day of the month : " << dd << endl;
break;
case 10:maxdays = 31;
if (dd <= maxdays)
cout << "Dates are acceptional, please continue...\n";
else
cout << "Invalid day of the month : " << dd << endl;
break;
case 12: maxdays = 31;
if (dd <= maxdays)
cout << "Dates are acceptional, please continue...\n";
else
cout << "Invalid day of the month : " << dd << endl;
break;
case 4:maxdays = 31;
if (dd <= maxdays)
cout << "Dates are acceptional, please continue...\n";
else
cout << "Invalid day of the month : " << dd << endl;
break;
case 6:maxdays = 31;
if (dd <= maxdays)
cout << "Dates are acceptional, please continue...\n";
else
cout << "Invalid day of the month : " << dd << endl;
break;
case 9:maxdays = 31;
if (dd <= maxdays)
cout << "Dates are acceptional, please continue...\n";
else
cout << "Invalid day of the month : " << dd << endl;
break;
case 11: maxdays = 30;
if (dd <= maxdays)
cout << "Dates are acceptional, please continue...\n";
else
cout << "Invalid day of the month : " << dd << endl;
break;
case 2: maxdays = 29;
if ( yy%4 == 0)
{ dd <= maxdays;}
else
dd <= 28;
break;
default:
cout << "Invalid month : " << mm << endl;
break;
}
switch (mm2)
{
case 1: maxdays = 31;
if (dd2 <= maxdays)
cout << "Dates are acceptional, please continue...\n";
else
cout << "Invalid day of the month : " << dd << endl;
break;
case 3:maxdays = 31;
if (dd2 <= maxdays)
cout << "Dates are acceptional, please continue...\n";
else
cout << "Invalid day of the month : " << dd << endl;
break;
case 5:maxdays = 31;
if (dd2 <= maxdays)
cout << "Dates are acceptional, please continue...\n";
else
cout << "Invalid day of the month : " << dd << endl;
break;
case 7:maxdays = 31;
if (dd2 <= maxdays)
cout << "Dates are acceptional, please continue...\n";
else
cout << "Invalid day of the month : " << dd << endl;
break;
case 8:maxdays = 31;
if (dd2 <= maxdays)
cout << "Dates are acceptional, please continue...\n";
else
cout << "Invalid day of the month : " << dd << endl;
break;
case 10:maxdays = 31;
if (dd <= maxdays)
cout << "Dates are acceptional, please continue...\n";
else
cout << "Invalid day of the month : " << dd << endl;
break;
case 12: maxdays = 31;
if (dd2 <= maxdays)
cout << "Dates are acceptional, please continue...\n";
else
cout << "Invalid day of the month : " << dd << endl;
break;
case 4:maxdays = 31;
if (dd2 <= maxdays)
cout << "Dates are acceptional, please continue...\n";
else
cout << "Invalid day of the month : " << dd << endl;
break;
case 6:maxdays = 31;
if (dd2 <= maxdays)
cout << "Dates are acceptional, please continue...\n";
else
cout << "Invalid day of the month : " << dd << endl;
break;
case 9:maxdays = 31;
if (dd2 <= maxdays)
cout << "Dates are acceptional, please continue...\n";
else
cout << "Invalid day of the month : " << dd << endl;
break;
case 11: maxdays = 30;
if (dd2 <= maxdays)
cout << "Dates are acceptional, please continue...\n";
else
cout << "Invalid day of the month : " << dd << endl;
break;
case 2: maxdays = 29;
if ( yy%4 == 0)
{ dd2 <= maxdays;}
else
dd <= 28;
break;
default:
cout << "Invalid month : " << mm << endl;
break;
}
system("pause");
return 0;
}
I was going to have the switch statements value returning functions
WaltP
2,905
Posting Sage w/ dash of thyme
Team Colleague
Since your post is unreadable, please read the Rules as requested when you signed up, the post titled Read Me: Read This Before Posting (the title says it all), and don't ignore the words on the background of the box you entered your post into.
Agni
370
Practically a Master Poster
Featured Poster
Its kinda long but here it is...
// Program assignment #1
// Brandon Moffett#include <string> #include <iostream> #include <iomanip> #include <fstream> using namespace std; // function prototypes int main() { int mm,dd,yy,mm2,dd2,yy2,maxdays,day; char s,s2; //prompt the user for input cout << "Please input your birthday using this format (MM-DD-YYYY)\n"; cin >> mm; cin.get(s); cin >> dd; cin.get(s); cin >> yy; cout << "Please input the current date using this format (MM-DD-YYYY)\n"; cin >> mm2; cin.get(s2); cin >> dd2; cin.get(s2); cin >> yy2; switch (mm) { case 1: maxdays = 31; if (dd <= maxdays) cout << "Dates are acceptional, please continue...\n"; else cout << "Invalid day of the month : " << dd << endl; break; case 3:maxdays = 31; if (dd <= maxdays) cout << "Dates are acceptional, please continue...\n"; else cout << "Invalid day of the month : " << dd << endl; break; case 5:maxdays = 31; if (dd <= maxdays) cout << "Dates are acceptional, please continue...\n"; else cout << "Invalid day of the month : " << dd << endl; break; case 7:maxdays = 31; if (dd <= maxdays) cout << "Dates are acceptional, please continue...\n"; else cout << "Invalid day of the month : " << dd << endl; break; case 8:maxdays = 31; if (dd <= maxdays) cout << "Dates are acceptional, please continue...\n"; else cout << "Invalid day of the month : " << dd << endl; break; case 10:maxdays = 31; if (dd <= maxdays) cout << "Dates are acceptional, please continue...\n"; else cout << "Invalid day of the month : " << dd << endl; break; case 12: maxdays = 31; if (dd <= maxdays) cout << "Dates are acceptional, please continue...\n"; else cout << "Invalid day of the month : " << dd << endl; break; case 4:maxdays = 31; if (dd <= maxdays) cout << "Dates are acceptional, please continue...\n"; else cout << "Invalid day of the month : " << dd << endl; break; case 6:maxdays = 31; if (dd <= maxdays) cout << "Dates are acceptional, please continue...\n"; else cout << "Invalid day of the month : " << dd << endl; break; case 9:maxdays = 31; if (dd <= maxdays) cout << "Dates are acceptional, please continue...\n"; else cout << "Invalid day of the month : " << dd << endl; break; case 11: maxdays = 30; if (dd <= maxdays) cout << "Dates are acceptional, please continue...\n"; else cout << "Invalid day of the month : " << dd << endl; break; case 2: maxdays = 29; if ( yy%4 == 0) { dd <= maxdays;} else dd <= 28; break; default: cout << "Invalid month : " << mm << endl; break; } switch (mm2) { case 1: maxdays = 31; if (dd2 <= maxdays) cout << "Dates are acceptional, please continue...\n"; else cout << "Invalid day of the month : " << dd << endl; break; case 3:maxdays = 31; if (dd2 <= maxdays) cout << "Dates are acceptional, please continue...\n"; else cout << "Invalid day of the month : " << dd << endl; break; case 5:maxdays = 31; if (dd2 <= maxdays) cout << "Dates are acceptional, please continue...\n"; else cout << "Invalid day of the month : " << dd << endl; break; case 7:maxdays = 31; if (dd2 <= maxdays) cout << "Dates are acceptional, please continue...\n"; else cout << "Invalid day of the month : " << dd << endl; break; case 8:maxdays = 31; if (dd2 <= maxdays) cout << "Dates are acceptional, please continue...\n"; else cout << "Invalid day of the month : " << dd << endl; break; case 10:maxdays = 31; if (dd <= maxdays) cout << "Dates are acceptional, please continue...\n"; else cout << "Invalid day of the month : " << dd << endl; break; case 12: maxdays = 31; if (dd2 <= maxdays) cout << "Dates are acceptional, please continue...\n"; else cout << "Invalid day of the month : " << dd << endl; break; case 4:maxdays = 31; if (dd2 <= maxdays) cout << "Dates are acceptional, please continue...\n"; else cout << "Invalid day of the month : " << dd << endl; break; case 6:maxdays = 31; if (dd2 <= maxdays) cout << "Dates are acceptional, please continue...\n"; else cout << "Invalid day of the month : " << dd << endl; break; case 9:maxdays = 31; if (dd2 <= maxdays) cout << "Dates are acceptional, please continue...\n"; else cout << "Invalid day of the month : " << dd << endl; break; case 11: maxdays = 30; if (dd2 <= maxdays) cout << "Dates are acceptional, please continue...\n"; else cout << "Invalid day of the month : " << dd << endl; break; case 2: maxdays = 29; if ( yy%4 == 0) { dd2 <= maxdays;} else dd <= 28; break; default: cout << "Invalid month : " << mm << endl; break; } system("pause"); return 0; }
I was going to have the switch statements value returning functions
To start with you can club the conditions that have the same number of days so ur code will become a lot more compact.
for ex
case 1:
case 3:
case 5:
//
and then the statements and break;
second your formula to check leap year is not absolutely correct. for example year 1800 is divisible by 4 but is not a leap year. you have to check if a year is divisible by 4 and not divisible by 100 then its a leap year or if the year is evenly divisible by 100 and 400. so that logic needs to be changed.
moffett018@aol
0
Newbie Poster
OK i fixed all of that thx.Any ideas about the loop situation?
moffett018@aol
0
Newbie Poster
i wrote an if statement for the leap year..
if( yy%4 == 0 && yy%100 != 0)
Agni
370
Practically a Master Poster
Featured Poster
the correct condition is
if((yy%4 == 0) && !(yy%100 ==0) || (yy%400 == 0))
probably you can have a while loop to keep taking inputs and returning the number of days till the user says i'm done.
so all your code can be put inside a while loop and you can ask the user if he wants to continue or not.
moffett018@aol
0
Newbie Poster
ok man that will do it
Thx for the help
Be a part of the DaniWeb community
We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.