|
|
|
|
||||||
![]() |
|
|
LinkBack | Outils de la discussion |
|
|
#1 |
|
Messages: n/a
Hébergeur: |
i am a new C programmer. i want to calculate someone's age. my input
would be his birth date. like : Date: 07 Month: 12 Year: 1988 and the program will take the current date from system and calculate his age, how can i do that in C. please inform me. |
|
|
|
#2 |
|
Messages: n/a
Hébergeur: |
Tameem wrote:
> i am a new C programmer. i want to calculate someone's age. my input > would be his birth date. like : Date: 07 > Month: 12 > Year: 1988 > and the program will take the current date from system and calculate > his age, > how can i do that in C. please inform me. One way is to store those values into a struct tm and use mktime() to convert to a time_t value, then pass that value and the current time to difftime() to get the person's age in seconds. It's up to you to convert that to whatever units (years, months, lunar cycles, etc) you want. -- Morris Dovey DeSoto Solar DeSoto, Iowa USA http://www.iedu.com/DeSoto/ |
|
|
|
#3 |
|
Messages: n/a
Hébergeur: |
In article <56273875-c731-45b3-8ce5-6334c66dc96b@a23g2000hsc.googlegroups.com>,
Tameem <etameem@gmail.com> wrote: >i am a new C programmer. i want to calculate someone's age. my input >would be his birth date. like : Date: 07 > Month: 12 > Year: 1988 >and the program will take the current date from system and calculate >his age, By the way, what do the specifications say should happen for people born on February 29th? And are the "lost days" to be taken into account (the various calendar reconciliations taken into account) ? -- "The art of storytelling is reaching its end because the epic side of truth, wisdom, is dying out." -- Walter Benjamin |
|
|
|
#4 |
|
Messages: n/a
Hébergeur: |
Tameem wrote, On 09/05/08 19:59:
> i am a new C programmer. i want to calculate someone's age. my input > would be his birth date. like : Date: 07 > Month: 12 > Year: 1988 > and the program will take the current date from system and calculate > his age, > how can i do that in C. please inform me. Provide a method for the user to provide input. My preference would be using the command line, but you might be required to send prompts to stdout and read input from stdin. Write some code to pass and validate the input. Write some code find out the current date. Write some code to find the difference between the two. C provides various library functions to assist in these tasks. If you are completely stuck then you should probably ask your tutor for extra . Otherwise make an attempt and post it here. -- Flash Gordon |
|
|
|
#5 |
|
Messages: n/a
Hébergeur: |
please tell me the program codes to add current date on C.
|
|
|
|
#6 |
|
Messages: n/a
Hébergeur: |
Tameem wrote:
> please tell me the program codes to add current date on C. You can get the current date/time (together in a single value) as a time_t by calling time(). You can then (if you want, but not needed for this problem) convert that time_t to a struct tm using either localtime() or gmtime(). You'll need to look up time_t, struct tm, and all of the functions I've mentioned to write your code. I won't write it for you, but if you have difficulty and are willing to show that you've made a serious attempt to produce the code, we'll you debug it here. -- Morris Dovey DeSoto Solar DeSoto, Iowa USA http://www.iedu.com/DeSoto/ |
|
|
|
#7 |
|
Messages: n/a
Hébergeur: |
Tameem wrote:
> please tell me the program codes to add current date on C. /* LOCALTIM.C: This program uses time to get the current time * and then uses localtime to convert this time to a structure * representing the local time. The program converts the result * from a 24-hour clock to a 12-hour clock and determines the * proper extension (AM or PM). */ #include <stdio.h> #include <string.h> #include <time.h> int main( void ) { struct tm *newtime; char am_pm[] = "AM"; time_t long_time; time( &long_time ); /* Get time as long integer. */ newtime = localtime( &long_time ); /* Convert to local time. */ if( newtime->tm_hour > 12 ) /* Set up extension. */ strcpy( am_pm, "PM" ); if( newtime->tm_hour > 12 ) /* Convert from 24-hour */ newtime->tm_hour -= 12; /* to 12-hour clock. */ if( newtime->tm_hour == 0 ) /*Set hour to 12 if midnight. */ newtime->tm_hour = 12; printf( "%.19s %s\n", asctime( newtime ), am_pm ); return 0; } -- jacob navia jacob at jacob point remcomp point fr logiciels/informatique http://www.cs.virginia.edu/~lcc-win32 |
|
|
|
#8 |
|
Messages: n/a
Hébergeur: |
jacob navia said:
> Tameem wrote: >> please tell me the program codes to add current date on C. > > /* LOCALTIM.C: This program uses time to get the current time > * and then uses localtime to convert this time to a structure > * representing the local time. The program converts the result > * from a 24-hour clock to a 12-hour clock and determines the > * proper extension (AM or PM). > */ > > #include <stdio.h> > #include <string.h> > #include <time.h> > > int main( void ) > { > struct tm *newtime; > char am_pm[] = "AM"; > time_t long_time; > > time( &long_time ); /* Get time as long integer. */ > newtime = localtime( &long_time ); /* Convert to local time. */ > > if( newtime->tm_hour > 12 ) /* Set up extension. */ > strcpy( am_pm, "PM" ); > if( newtime->tm_hour > 12 ) /* Convert from 24-hour */ > newtime->tm_hour -= 12; /* to 12-hour clock. */ > if( newtime->tm_hour == 0 ) /*Set hour to 12 if midnight. */ > newtime->tm_hour = 12; > > printf( "%.19s %s\n", asctime( newtime ), am_pm ); > return 0; > } Conceptually simpler (and making it much easier to customise the format), but requiring an extra array: #include <stdio.h> #include <time.h> int main(void) { char thetime[32] = {0}; time_t long_time = time(NULL); struct tm *newtime = localtime(&long_time); strftime(thetime, sizeof thetime, "%Y-%m-%d %I:%M:%S%p", newtime); printf("%s\n", thetime); return 0; } -- Richard Heathfield <http://www.cpax.org.uk> Email: -http://www. +rjh@ Google users: <http://www.cpax.org.uk/prg/writings/googly.php> "Usenet is a strange place" - dmr 29 July 1999 |
|
![]() |
| Outils de la discussion | |
|
|