6
Contributors
5
Replies
9
Views
13 Years
Discussion Span
Last Post by deceptikon
0

i think that you can use

enum

it is as

structure

but enum list the elements by index as array .. for example

enum days_of_the_week ={sat,sun,mon,tue,wed,thu,fri };

there for .. sat has the value 0 and sun = 1 and mon = 2 and so on ..
so if u say mon - sat
the compiler wil supstract the values only ... ther for u will get 2 .

enum days_of_the_week ={sat,sun,mon,tue,wed,thu,fri };

there for .. sat has the value 0 and sun = 1 and mon = 2 and so on ..
so if u say mon - sat
the compiler wil supstract the values only ... ther for u will get 2 .

Edited by Dani: Formatting fixed

0

This is one way.

[b]#include[/b] <iostream>
[b]#include[/b] <ctime> 
 
[b]int[/b] [b]main[/b]() 
{
[b]   struct[/b] std::tm a = {0,0,0,24,5,104}; /* June 24, 2004 */
[b]   struct[/b] std::tm b = {0,0,0,5,6,104}; /* July 5, 2004 */
   std::time_t x = std::[b]mktime[/b](&a);
   std::time_t y = std::[b]mktime[/b](&b);
[b]   if [/b]( x != (std::time_t)(-1) && y != (std::time_t)(-1) )
   {
	 [b]double[/b] difference = std::[b]difftime[/b](y, x) / (60 * 60 * 24);
	 std::[b]cout[/b] << std::ctime(&x);
	 std::[b]cout[/b] << std::ctime(&y);
	 std::[b]cout[/b] << "difference = " << difference << " days" << std::[b]endl[/b];
   }
[b]   return[/b] 0; 
}
 
/* my output
Thu Jun 24 01:00:00 2004
Mon Jul 05 01:00:00 2004
difference = 11 days
*/
0

Not to mention it wouldn't pass code review in any development house I've worked with (assuming it compiled). The code itself is brittle and the solution is clearly written by someone who hasn't done much date and time programming.

This topic has been dead for over six months. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.