Jody
April 24th, 1999, 02:49 PM
Help! I've written the following program but am having problems with the display I'm trying to get. I want the user to be able to enter 5 dates. AFter entering 5 dates, I want the program to display 5 columns showing the following:
Col 1 (date entered), Col2 (Euro date), Col3 (Julian date), Col4 Military Date), and Col5 (Business date). I'm struggling trying to figure out how to get this accomplished. I am a BEGINNER and don't know much!
/*********************************************************************/
/* This program will take a date in U.S. date format (mm/dd/yy) */
/* and convert it to all of the following formats. */
/* Date formats are as follows: */
/* */
/* European date format: dd/mm/yy */
/* Julian date format: yyjjj */
/* Military date format: dd-mmm-yyyy */
/* Business date format: dd mmm yyyy */
/* */
/*********************************************************************/
#include <stdio.h>
#include <string.h>
#define NUMBER 5 /* defining the number of dates accepted from the user */
/* date formats */
/* format scaned by user then passed to other dates */
int Date (int &month, int &day, int &year);
int Europe (int month, int day, int year);
int Julian (int month, int day, int year);
int Military (int month, int day, int year);
int Business (int month, int day, int year);
int main (void)
{
int month, day, year;
int count;
printf ("\tNOTE: You can enter up to five dates! ");
/* for loop that allows up to 5 enteries */
for (count = 1; count <= NUMBER ; count++)
{
Date (month, day, year);
/* program flow for four unique date outputs */
Europe (month, day, year);
Julian (month, day, year);
Military (month, day, year);
Business (month, day, year);
}
return 0;
}
int Date (int &month, int &day, int &year)
{
while (1)
{
printf ("\n*** Please enter a date using the following format: (mm/dd/yr) ***\n");
scanf ("%d/%d/%d" ,&month, &day, &year);
/* checking for valid entry of dates */
if ((month < 13) && (month > 0) && (day < 32) && (day > 0) && (year < 100) && (year > 0))
{
break;
}
else
{
printf ("Invalid Date Entered!\n");
printf ("Please try again using the following format: (mm/dd/yr)\n");
}
printf ("The date you entered was: %d/%d/%d\n\n", month, day, year);
}
return 0;
}
int Europe (int month, int day, int year) /* simple date conversion from scanf */
{
printf ("European format = %d/%d/%d\n", day, month, year);
return 0;
}
/* figure Julian date format */
int Julian (int month, int day, int year)
{
int days;
switch (month)
{
case 1:
days = day;
break;
case 2:
days = 31 + day;
break;
case 3:
days = 31 + 28 + day;
break;
case 4:
days = 31 + 28 + 31 + day;
break;
case 5:
days = 31 + 28 + 31 + 30 + day;
break;
case 6:
days = 31 + 28 + 31 + 30 + 31 + day;
break;
case 7:
days = 31 + 28 + 31 + 30 + 31 + 30 + day;
break;
case 8:
days = 31 + 28 + 31 + 30 + 31 + 30 + 31 + day;
break;
case 9:
days = 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + day;
break;
case 10:
days = 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + day;
break;
case 11:
days = 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31 + day;
break;
case 12:
days = 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31 + 30 + day;
break;
}
printf ("Julian format = %d", year); /* print output in the (yyjjj) format */
if (days > 0 && days < 10)
printf ("00%d", days);
if (days >= 10 && days < 100)
printf ("0%d", days);
if (days >= 100 && days <= 366)
printf ("%d", days);
printf ("\n");
return 0;
}
char *MonthName[12] = {"JAN", "FEB", "MAR", "APR", "MAY", "JUN", "JUL", "AUG", "SEP", "OCT", "NOV", "DEC"};
int Military (int month, int day, int year)
{
printf ("Military format =");
/* print output for Military conversion */
if (day < 10)
printf (" 0%d-", day);
if (day >= 10)
printf (" %d-", day);
printf ("%s-", MonthName[month-1]);
printf ("%d\n", year + 1900);
return 0;
}
// Business formatting
char *FullMonthName[12] = {"January", "February", "March", "April", "May", "June", "July", "August", "September", "November", "December"};
int Business (int month, int day, int year)
{
printf ("Business format=");
if (day < 10)
printf (" 0%d", day);
if (day >= 10)
printf ("%d", day);
printf (" %s", FullMonthName[month-1]);
printf (" %d\n", year + 1900);
return 0;
}
Col 1 (date entered), Col2 (Euro date), Col3 (Julian date), Col4 Military Date), and Col5 (Business date). I'm struggling trying to figure out how to get this accomplished. I am a BEGINNER and don't know much!
/*********************************************************************/
/* This program will take a date in U.S. date format (mm/dd/yy) */
/* and convert it to all of the following formats. */
/* Date formats are as follows: */
/* */
/* European date format: dd/mm/yy */
/* Julian date format: yyjjj */
/* Military date format: dd-mmm-yyyy */
/* Business date format: dd mmm yyyy */
/* */
/*********************************************************************/
#include <stdio.h>
#include <string.h>
#define NUMBER 5 /* defining the number of dates accepted from the user */
/* date formats */
/* format scaned by user then passed to other dates */
int Date (int &month, int &day, int &year);
int Europe (int month, int day, int year);
int Julian (int month, int day, int year);
int Military (int month, int day, int year);
int Business (int month, int day, int year);
int main (void)
{
int month, day, year;
int count;
printf ("\tNOTE: You can enter up to five dates! ");
/* for loop that allows up to 5 enteries */
for (count = 1; count <= NUMBER ; count++)
{
Date (month, day, year);
/* program flow for four unique date outputs */
Europe (month, day, year);
Julian (month, day, year);
Military (month, day, year);
Business (month, day, year);
}
return 0;
}
int Date (int &month, int &day, int &year)
{
while (1)
{
printf ("\n*** Please enter a date using the following format: (mm/dd/yr) ***\n");
scanf ("%d/%d/%d" ,&month, &day, &year);
/* checking for valid entry of dates */
if ((month < 13) && (month > 0) && (day < 32) && (day > 0) && (year < 100) && (year > 0))
{
break;
}
else
{
printf ("Invalid Date Entered!\n");
printf ("Please try again using the following format: (mm/dd/yr)\n");
}
printf ("The date you entered was: %d/%d/%d\n\n", month, day, year);
}
return 0;
}
int Europe (int month, int day, int year) /* simple date conversion from scanf */
{
printf ("European format = %d/%d/%d\n", day, month, year);
return 0;
}
/* figure Julian date format */
int Julian (int month, int day, int year)
{
int days;
switch (month)
{
case 1:
days = day;
break;
case 2:
days = 31 + day;
break;
case 3:
days = 31 + 28 + day;
break;
case 4:
days = 31 + 28 + 31 + day;
break;
case 5:
days = 31 + 28 + 31 + 30 + day;
break;
case 6:
days = 31 + 28 + 31 + 30 + 31 + day;
break;
case 7:
days = 31 + 28 + 31 + 30 + 31 + 30 + day;
break;
case 8:
days = 31 + 28 + 31 + 30 + 31 + 30 + 31 + day;
break;
case 9:
days = 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + day;
break;
case 10:
days = 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + day;
break;
case 11:
days = 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31 + day;
break;
case 12:
days = 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31 + 30 + day;
break;
}
printf ("Julian format = %d", year); /* print output in the (yyjjj) format */
if (days > 0 && days < 10)
printf ("00%d", days);
if (days >= 10 && days < 100)
printf ("0%d", days);
if (days >= 100 && days <= 366)
printf ("%d", days);
printf ("\n");
return 0;
}
char *MonthName[12] = {"JAN", "FEB", "MAR", "APR", "MAY", "JUN", "JUL", "AUG", "SEP", "OCT", "NOV", "DEC"};
int Military (int month, int day, int year)
{
printf ("Military format =");
/* print output for Military conversion */
if (day < 10)
printf (" 0%d-", day);
if (day >= 10)
printf (" %d-", day);
printf ("%s-", MonthName[month-1]);
printf ("%d\n", year + 1900);
return 0;
}
// Business formatting
char *FullMonthName[12] = {"January", "February", "March", "April", "May", "June", "July", "August", "September", "November", "December"};
int Business (int month, int day, int year)
{
printf ("Business format=");
if (day < 10)
printf (" 0%d", day);
if (day >= 10)
printf ("%d", day);
printf (" %s", FullMonthName[month-1]);
printf (" %d\n", year + 1900);
return 0;
}