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 3 Years Ago by Dani: Formatting fixed

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
*/

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 article has been dead for over six months. Start a new discussion instead.