Ok, your algorithm is very simplistic, but without knowing the context for the reason you're writing it... simplistic may be all you need to do (i.e. if it's a personal project).
But let's assume that you implement all of these things, your algorithm is utterly useless if you restart your computer, your computer crashes, etc.
The next important question I have is what platform are you working on?
Probably irrelevant.
http://www.cplusplus.com/reference/clibrary/ctime/This should be more than what he needs accomplish his program. And any platform with a standard C library should suffice. It even has nice simple code examples on how to use the various functions and types.
The std C library functions in the link provides the means of getting the current system date/time (e.g. time()) and putting it into a form that you can use (e.g. localtime()), as well as converting between different time formats and manipulating them (e.g. converting a numerical date/time to its string representation). You shouldn't even need to increment a separate x variable if you're taking the difference from the start date/time and the current local date/time being polled... taking this difference is effectively the same thing. To not waste CPU cycles, you could even sleep for a bit in between polling so you aren't constantly making function calls to time() and localtime(). The linked webpage lists a function called difftime() to find the difference between two dates/times.
Using all of this, you could then have the program run as a background process and even have it start up when you boot up the OS, get the current date/ time, and read the last known specified start date from a file... With this information, it would be able to resume where it left off by computing the date/time difference of current date and the last known start date specified. If the difference is more than 14 days (i.e. you turned off your computer for two weeks+) you would let the user know... otherwise you would just resume normal program execution until the current date/time is 14 days in the future from the last known specified start date/time.
I'm not sure what level of programming skill deadly is at... so throwing him a link may not be sufficient enough for him to practically apply the information in the link. Let me know if I'm beating a dead horse.
Unless there is a requirement that running the process in the background must be implemented into the program/ binary, running the process in the background is easy in both Windows and Linux/UNIX and can be accomplished by just writing a shell script or batch file to accomplish this behavior.