Jody
May 3rd, 1999, 08:23 PM
Why am I getting all these warnings? I need your help! <thanks>
#include <conio.h>
#include <stdio.h>
#include <string.h>
void Date(long i);
void WriteData(void);
void ReadData(void);
void SortData(void);
void ComputeY2K(long i);
void Y2K(long i);
void Europe(long count);
void Julian(long count);
void Military(long count);
void Business(long count);
long day[5], month[5], year[5];
long hour[5], minute[5], second[5];
long hoursLeft[5], minutesLeft[5], secondsLeft[5];
long hoursPast[5], minutesPast[5], secondsPast[5];
unsigned long totalSeconds[5];
long sortCount[5];
int main()
{
long i;
while(1)
{
printf("\nPlease enter five dates\n\n");
for(i = 0; i < 5; i++) Date(i);
for(i = 0; i < 5; i++) ComputeY2K(i);
WriteData();
ReadData();
SortData();
printf("\n");
for(i = 0; i < 5; i++)
{
printf("\npress any key to continue...\n");
getch();
printf("Original Date: %ld/%ld/%ld\n",day[sortCount[i]], month[sortCount[i]], year[sortCount[i]]);
Y2K(sortCount[i]);
Europe(sortCount[i]);
Julian(sortCount[i]);
Military(sortCount[i]);
Business(sortCount[i]);
}
}
return(0);
}
void WriteData()
{
FILE *file;
long i;
file = fopen("data.dat","w");
if(file != 0)
{
for(i = 0; i < 5; i++)
{
fprintf(file,"%ld,%ld,%ld,%ld,%ld,%ld,%ld,%ld,%ld,%ld,%ld,%ld,%ld\n", day[i], month[i], year[i], hour[i], minute[i], second[i], hoursLeft[i], minutesLeft[i], secondsLeft[i], hoursPast[i], minutesPast[i], secondsPast[i], totalSeconds[i]);
}
fclose(file);
}
}
void ReadData()
{
FILE *file;
long i;
file = fopen("data.dat","r");
if(file != 0)
{
for(i = 0; i < 5; i++)
{
fscanf(file,"%ld,%ld,%ld,%ld,%ld,%ld,%ld,%ld,%ld,%ld,%ld,%ld,%ld\n", &day[i], &month[i], &year[i], &hour[i], &minute[i], &second[i], &hoursLeft[i], &minutesLeft[i], &secondsLeft[i], &hoursPast[i], &minutesPast[i], &secondsPast[i], &totalSeconds[i]);
}
fclose(file);
}
}
void SortData()
{
long i, j;
for(i = 0; i < 5; i++) sortCount[i] = i;
for(j = 0; j < 5; j++)
{
for(i = j+1; i < 5; i++)
{
if(year[sortCount[j]] > year[sortCount[i]])
{
sortCount[i] ^= sortCount[j];
sortCount[j] ^= sortCount[i];
sortCount[i] ^= sortCount[j];
continue;
}
if(year[sortCount[j]] == year[sortCount[i]])
{
if(month[sortCount[j]] > month[sortCount[i]])
{
sortCount[i] ^= sortCount[j];
sortCount[j] ^= sortCount[i];
sortCount[i] ^= sortCount[j];
continue;
}
}
if(year[sortCount[j]] == year[sortCount[i]])
{
if(month[sortCount[j]] == month[sortCount[i]])
{
if(day[sortCount[j]] > day[sortCount[i]])
{
sortCount[i] ^= sortCount[j];
sortCount[j] ^= sortCount[i];
sortCount[i] ^= sortCount[j];
continue;
}
}
}
}
}
}
void Date(long i)
{
while (1)
{
printf ("Please enter a date using the following format: \n(hh/mm/ss/mm/dd/yyyy) \n\n");
scanf("%ld/%ld/%ld/%ld/%ld/%ld" ,&hour[i], &minute[i], &second[i], &month[i], &day[i], &year[i]);
/* error trapping for month, day and year */
if(hour[i] < 24 && hour[i] >= 0 && minute[i] < 60 && minute[i] >= 0 && second[i] < 60 && second[i] >= 0 &&
(month[i] < 13) && (month[i] > 0) && day[i] < 32 && day[i] > 0 && year[i] < 2100 && year[i] > 1899)
break;
else
{
printf ("Data and/or format is incorrect!\n");
printf ("Please reenter the date using the following format: (mm/dd/yr)\n");
printf ("Date entered = %ld/%ld/%ld/%ld/%ld/%ld\n", hour[i], minute[i], second[i], month[i], day[i], year[i]);
}
}
}
void ComputeY2K(long i)
{
long yearDiff, days;
yearDiff = 1999 - year[i];
if(year[i] < 2000)
{
switch(month[i])
{
case 12:
days = 31 - day[i];
break;
case 11:
days = 31 + 30 - day[i];
break;
case 10:
days = 31 + 30 + 31 - day[i];
break;
case 9:
days = 31 + 30 + 31 + 30 - day[i];
break;
case 8:
days = 31 + 30 + 31 + 30 + 31 - day[i];
break;
case 7:
days = 31 + 30 + 31 + 30 + 31 + 31 - day[i];
break;
case 6:
days = 31 + 30 + 31 + 30 + 31 + 30 + 30 - day[i];
break;
case 5:
days = 31 + 30 + 31 + 30 + 31 + 30 + 30 + 31 - day[i];
break;
case 4:
days = 31 + 30 + 31 + 30 + 31 + 30 + 30 + 31 + 30 - day[i];
break;
case 3:
days = 31 + 30 + 31 + 30 + 31 + 30 + 30 + 31 + 30 + 31 - day[i];
break;
case 2:
days = 31 + 30 + 31 + 30 + 31 + 30 + 30 + 31 + 30 + 31 + 28 - day[i];
break;
case 1:
days = 31 + 30 + 31 + 30 + 31 + 30 + 30 + 31 + 30 + 31 + 28 + 31 - day[i];
break;
}
hoursLeft[i] = (yearDiff * 8760) + (days * 24) + (23 - hour[i]);
minutesLeft[i] = (60 - minute[i]) - 1;
secondsLeft[i] = (60 - second[i]) - 1;
totalSeconds[i] = ((hoursLeft[i] * 3600) + (minutesLeft[i] * 60) + secondsLeft[i]);
}
else
{
yearDiff = year[i] - 2000;
switch(month[i])
{
case 1:
days = day[i];
break;
case 2:
days = 31 + day[i];
break;
case 3:
days = 31 + 28 + day[i];
break;
case 4:
days = 31 + 28 + 31 + day[i];
break;
case 5:
days = 31 + 28 + 31 + 30 + day[i];
break;
case 6:
days = 31 + 28 + 31 + 30 + 31 + day[i];
break;
case 7:
days = 31 + 28 + 31 + 30 + 31 + 30 + day[i];
break;
case 8:
days = 31 + 28 + 31 + 30 + 31 + 30 + 31 + day[i];
break;
case 9:
days = 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + day[i];
break;
case 10:
days = 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + day[i];
break;
case 11:
days = 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31 + day[i];
break;
case 12:
days = 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31 + 30 + day[i];
break;
}
hoursLeft[i] = (yearDiff * 8760) + ((days-1) * 24) + (hour[i]);
minutesLeft[i] = (minute[i]);
secondsLeft[i] = (second[i]);
totalSeconds[i] = ((hoursLeft[i] * 3600) + (minutesLeft[i] * 60) + secondsLeft[i]);
}
}
void Y2K(long i)
{
if(year[i] < 2000)
{
printf("Hours,minutes,seconds remaining to New Years Day 2000 is: %ld,%ld,%ld\n", hoursLeft[i], minutesLeft[i], secondsLeft[i]);
printf("The total # of seconds remaining to New Years Day 2000 is: %ld\n", totalSeconds[i]);
}
else
{
printf("Hours,minutes,seconds past New Years Day 2000 is: %ld,%ld,%ld\n", hoursLeft[i], minutesLeft[i], secondsLeft[i]);
printf("The total # of seconds past New Years Day 2000 is: %ld\n", totalSeconds[i]);
}
}
void Europe (long count) /* simple date conversion from scanf */
{
printf("European format = %ld/%ld/%ld\n", day[count], month[count], year[count]);
}
void Julian (long count) /* complex switch that adds day to month totals */
{
int days; /* monthly count using the days of each month */
switch (month[count])
{
case 1:
days = day[count];
break;
case 2:
days = 31 + day[count];
break;
case 3:
days = 31 + 28 + day[count];
break;
case 4:
days = 31 + 28 + 31 + day[count];
break;
case 5:
days = 31 + 28 + 31 + 30 + day[count];
break;
case 6:
days = 31 + 28 + 31 + 30 + 31 + day[count];
break;
case 7:
days = 31 + 28 + 31 + 30 + 31 + 30 + day[count];
break;
case 8:
days = 31 + 28 + 31 + 30 + 31 + 30 + 31 + day[count];
break;
case 9:
days = 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + day[count];
break;
case 10:
days = 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + day[count];
break;
case 11:
days = 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31 + day[count];
break;
case 12:
days = 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31 + 30 + day[count];
break;
}
printf("Julian format = %ld", year[count]); /* 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");
}
/* second switch for abreviated month */
void Military(long count)
{
char Month[15];
switch (month[count])
{
case 1:
strcpy(Month,"JAN");
break;
case 2:
strcpy(Month,"FEB");
break;
case 3:
strcpy(Month,"MAR");
break;
case 4:
strcpy(Month,"APR");
break;
case 5:
strcpy(Month,"MAY");
break;
case 6:
strcpy(Month,"JUN");
break;
case 7:
strcpy(Month,"JUL");
break;
case 8:
strcpy(Month,"AUG");
break;
case 9:
strcpy(Month,"SEP");
break;
case 10:
strcpy(Month,"OCT");
break;
case 11:
strcpy(Month,"NOV");
break;
case 12:
strcpy(Month,"DEC");
break;
}
printf ("Military format ="); /* print output for Military conversion */
if (day[count] < 10)
printf (" 0%ld-", day[count]);
if (day[count] >= 10)
printf (" %ld-", day[count]);
printf ("%s-", Month);
printf ("%ld\n", year[count]);
}
/* third switch for full month */
void Business(long count)
{
char Month[15];
switch (month[count])
{
case 1:
strcpy(Month,"January");
break;
case 2:
strcpy(Month,"February");
break;
case 3:
strcpy(Month,"March");
break;
case 4:
strcpy(Month,"April");
break;
case 5:
strcpy(Month,"May");
break;
case 6:
strcpy(Month,"June");
break;
case 7:
strcpy(Month,"July");
break;
case 8:
strcpy(Month,"August");
break;
case 9:
strcpy(Month,"September");
break;
case 10:
strcpy(Month,"October");
break;
case 11:
strcpy(Month,"November");
break;
case 12:
strcpy(Month,"December");
break;
}
printf ("Business format = %ld %s %ld\n", day[count], Month, year[count]);
}
#include <conio.h>
#include <stdio.h>
#include <string.h>
void Date(long i);
void WriteData(void);
void ReadData(void);
void SortData(void);
void ComputeY2K(long i);
void Y2K(long i);
void Europe(long count);
void Julian(long count);
void Military(long count);
void Business(long count);
long day[5], month[5], year[5];
long hour[5], minute[5], second[5];
long hoursLeft[5], minutesLeft[5], secondsLeft[5];
long hoursPast[5], minutesPast[5], secondsPast[5];
unsigned long totalSeconds[5];
long sortCount[5];
int main()
{
long i;
while(1)
{
printf("\nPlease enter five dates\n\n");
for(i = 0; i < 5; i++) Date(i);
for(i = 0; i < 5; i++) ComputeY2K(i);
WriteData();
ReadData();
SortData();
printf("\n");
for(i = 0; i < 5; i++)
{
printf("\npress any key to continue...\n");
getch();
printf("Original Date: %ld/%ld/%ld\n",day[sortCount[i]], month[sortCount[i]], year[sortCount[i]]);
Y2K(sortCount[i]);
Europe(sortCount[i]);
Julian(sortCount[i]);
Military(sortCount[i]);
Business(sortCount[i]);
}
}
return(0);
}
void WriteData()
{
FILE *file;
long i;
file = fopen("data.dat","w");
if(file != 0)
{
for(i = 0; i < 5; i++)
{
fprintf(file,"%ld,%ld,%ld,%ld,%ld,%ld,%ld,%ld,%ld,%ld,%ld,%ld,%ld\n", day[i], month[i], year[i], hour[i], minute[i], second[i], hoursLeft[i], minutesLeft[i], secondsLeft[i], hoursPast[i], minutesPast[i], secondsPast[i], totalSeconds[i]);
}
fclose(file);
}
}
void ReadData()
{
FILE *file;
long i;
file = fopen("data.dat","r");
if(file != 0)
{
for(i = 0; i < 5; i++)
{
fscanf(file,"%ld,%ld,%ld,%ld,%ld,%ld,%ld,%ld,%ld,%ld,%ld,%ld,%ld\n", &day[i], &month[i], &year[i], &hour[i], &minute[i], &second[i], &hoursLeft[i], &minutesLeft[i], &secondsLeft[i], &hoursPast[i], &minutesPast[i], &secondsPast[i], &totalSeconds[i]);
}
fclose(file);
}
}
void SortData()
{
long i, j;
for(i = 0; i < 5; i++) sortCount[i] = i;
for(j = 0; j < 5; j++)
{
for(i = j+1; i < 5; i++)
{
if(year[sortCount[j]] > year[sortCount[i]])
{
sortCount[i] ^= sortCount[j];
sortCount[j] ^= sortCount[i];
sortCount[i] ^= sortCount[j];
continue;
}
if(year[sortCount[j]] == year[sortCount[i]])
{
if(month[sortCount[j]] > month[sortCount[i]])
{
sortCount[i] ^= sortCount[j];
sortCount[j] ^= sortCount[i];
sortCount[i] ^= sortCount[j];
continue;
}
}
if(year[sortCount[j]] == year[sortCount[i]])
{
if(month[sortCount[j]] == month[sortCount[i]])
{
if(day[sortCount[j]] > day[sortCount[i]])
{
sortCount[i] ^= sortCount[j];
sortCount[j] ^= sortCount[i];
sortCount[i] ^= sortCount[j];
continue;
}
}
}
}
}
}
void Date(long i)
{
while (1)
{
printf ("Please enter a date using the following format: \n(hh/mm/ss/mm/dd/yyyy) \n\n");
scanf("%ld/%ld/%ld/%ld/%ld/%ld" ,&hour[i], &minute[i], &second[i], &month[i], &day[i], &year[i]);
/* error trapping for month, day and year */
if(hour[i] < 24 && hour[i] >= 0 && minute[i] < 60 && minute[i] >= 0 && second[i] < 60 && second[i] >= 0 &&
(month[i] < 13) && (month[i] > 0) && day[i] < 32 && day[i] > 0 && year[i] < 2100 && year[i] > 1899)
break;
else
{
printf ("Data and/or format is incorrect!\n");
printf ("Please reenter the date using the following format: (mm/dd/yr)\n");
printf ("Date entered = %ld/%ld/%ld/%ld/%ld/%ld\n", hour[i], minute[i], second[i], month[i], day[i], year[i]);
}
}
}
void ComputeY2K(long i)
{
long yearDiff, days;
yearDiff = 1999 - year[i];
if(year[i] < 2000)
{
switch(month[i])
{
case 12:
days = 31 - day[i];
break;
case 11:
days = 31 + 30 - day[i];
break;
case 10:
days = 31 + 30 + 31 - day[i];
break;
case 9:
days = 31 + 30 + 31 + 30 - day[i];
break;
case 8:
days = 31 + 30 + 31 + 30 + 31 - day[i];
break;
case 7:
days = 31 + 30 + 31 + 30 + 31 + 31 - day[i];
break;
case 6:
days = 31 + 30 + 31 + 30 + 31 + 30 + 30 - day[i];
break;
case 5:
days = 31 + 30 + 31 + 30 + 31 + 30 + 30 + 31 - day[i];
break;
case 4:
days = 31 + 30 + 31 + 30 + 31 + 30 + 30 + 31 + 30 - day[i];
break;
case 3:
days = 31 + 30 + 31 + 30 + 31 + 30 + 30 + 31 + 30 + 31 - day[i];
break;
case 2:
days = 31 + 30 + 31 + 30 + 31 + 30 + 30 + 31 + 30 + 31 + 28 - day[i];
break;
case 1:
days = 31 + 30 + 31 + 30 + 31 + 30 + 30 + 31 + 30 + 31 + 28 + 31 - day[i];
break;
}
hoursLeft[i] = (yearDiff * 8760) + (days * 24) + (23 - hour[i]);
minutesLeft[i] = (60 - minute[i]) - 1;
secondsLeft[i] = (60 - second[i]) - 1;
totalSeconds[i] = ((hoursLeft[i] * 3600) + (minutesLeft[i] * 60) + secondsLeft[i]);
}
else
{
yearDiff = year[i] - 2000;
switch(month[i])
{
case 1:
days = day[i];
break;
case 2:
days = 31 + day[i];
break;
case 3:
days = 31 + 28 + day[i];
break;
case 4:
days = 31 + 28 + 31 + day[i];
break;
case 5:
days = 31 + 28 + 31 + 30 + day[i];
break;
case 6:
days = 31 + 28 + 31 + 30 + 31 + day[i];
break;
case 7:
days = 31 + 28 + 31 + 30 + 31 + 30 + day[i];
break;
case 8:
days = 31 + 28 + 31 + 30 + 31 + 30 + 31 + day[i];
break;
case 9:
days = 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + day[i];
break;
case 10:
days = 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + day[i];
break;
case 11:
days = 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31 + day[i];
break;
case 12:
days = 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31 + 30 + day[i];
break;
}
hoursLeft[i] = (yearDiff * 8760) + ((days-1) * 24) + (hour[i]);
minutesLeft[i] = (minute[i]);
secondsLeft[i] = (second[i]);
totalSeconds[i] = ((hoursLeft[i] * 3600) + (minutesLeft[i] * 60) + secondsLeft[i]);
}
}
void Y2K(long i)
{
if(year[i] < 2000)
{
printf("Hours,minutes,seconds remaining to New Years Day 2000 is: %ld,%ld,%ld\n", hoursLeft[i], minutesLeft[i], secondsLeft[i]);
printf("The total # of seconds remaining to New Years Day 2000 is: %ld\n", totalSeconds[i]);
}
else
{
printf("Hours,minutes,seconds past New Years Day 2000 is: %ld,%ld,%ld\n", hoursLeft[i], minutesLeft[i], secondsLeft[i]);
printf("The total # of seconds past New Years Day 2000 is: %ld\n", totalSeconds[i]);
}
}
void Europe (long count) /* simple date conversion from scanf */
{
printf("European format = %ld/%ld/%ld\n", day[count], month[count], year[count]);
}
void Julian (long count) /* complex switch that adds day to month totals */
{
int days; /* monthly count using the days of each month */
switch (month[count])
{
case 1:
days = day[count];
break;
case 2:
days = 31 + day[count];
break;
case 3:
days = 31 + 28 + day[count];
break;
case 4:
days = 31 + 28 + 31 + day[count];
break;
case 5:
days = 31 + 28 + 31 + 30 + day[count];
break;
case 6:
days = 31 + 28 + 31 + 30 + 31 + day[count];
break;
case 7:
days = 31 + 28 + 31 + 30 + 31 + 30 + day[count];
break;
case 8:
days = 31 + 28 + 31 + 30 + 31 + 30 + 31 + day[count];
break;
case 9:
days = 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + day[count];
break;
case 10:
days = 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + day[count];
break;
case 11:
days = 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31 + day[count];
break;
case 12:
days = 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31 + 30 + day[count];
break;
}
printf("Julian format = %ld", year[count]); /* 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");
}
/* second switch for abreviated month */
void Military(long count)
{
char Month[15];
switch (month[count])
{
case 1:
strcpy(Month,"JAN");
break;
case 2:
strcpy(Month,"FEB");
break;
case 3:
strcpy(Month,"MAR");
break;
case 4:
strcpy(Month,"APR");
break;
case 5:
strcpy(Month,"MAY");
break;
case 6:
strcpy(Month,"JUN");
break;
case 7:
strcpy(Month,"JUL");
break;
case 8:
strcpy(Month,"AUG");
break;
case 9:
strcpy(Month,"SEP");
break;
case 10:
strcpy(Month,"OCT");
break;
case 11:
strcpy(Month,"NOV");
break;
case 12:
strcpy(Month,"DEC");
break;
}
printf ("Military format ="); /* print output for Military conversion */
if (day[count] < 10)
printf (" 0%ld-", day[count]);
if (day[count] >= 10)
printf (" %ld-", day[count]);
printf ("%s-", Month);
printf ("%ld\n", year[count]);
}
/* third switch for full month */
void Business(long count)
{
char Month[15];
switch (month[count])
{
case 1:
strcpy(Month,"January");
break;
case 2:
strcpy(Month,"February");
break;
case 3:
strcpy(Month,"March");
break;
case 4:
strcpy(Month,"April");
break;
case 5:
strcpy(Month,"May");
break;
case 6:
strcpy(Month,"June");
break;
case 7:
strcpy(Month,"July");
break;
case 8:
strcpy(Month,"August");
break;
case 9:
strcpy(Month,"September");
break;
case 10:
strcpy(Month,"October");
break;
case 11:
strcpy(Month,"November");
break;
case 12:
strcpy(Month,"December");
break;
}
printf ("Business format = %ld %s %ld\n", day[count], Month, year[count]);
}