Answer to your question
RA changes just a little bit through time (because of minor effects like parallax), but we can just say it is constant for a specific non-Sun star. Same applies to declination. Why is that? The declination and right ascension of vernal equinox (where the Sun is in March) is defined to be 0°. This point is fixed with respect to other stars. Thus, the declination and right ascension are (almost) constant for some star. That's why we like to use it. But note, that these coordinates are changing for Solar System objects.
How should your program look like
For you calculation, we need to understand what is sidereal time. This is just angular distance of vernal equinox to the celestial equator. If Sun were to have same declination and right ascension through the year, one sidereal period would be same as one solar day. But Sun's right ascension changes slowly through time, so one sidereal period is just a little bit off the solar day. If we think carefully, Sun makes one circle on the right ascension in one year, thus there are around 366.25 sidereal days ("star days"), but just 365.25 solar days. One sidereal day is thus around 23 hours and 56 minutes. We will need that concept later on.
We have to define new concept here: the hour angle. This is basically the angular distance of some point to the celestial equator. For the vernal equinox, the hour angle is always just sidereal time $\Theta$ (by the definition). We can simply derive this relation for any object:
$$h = \Theta - \alpha$$
where $\Theta$ is current sidereal time, $h$ is the hour angle, and $\alpha$ is the right ascension.
But how could you determine if the object is above the horizon? You can use simple equation:
$$\cos{h}=-\tan{\phi}\tan{\delta}$$
for the hour angle, where the object sets. $\phi$ is the geographical latitude, $\delta$ is the declination of the object. Note that some objects never set or rise, thus you need to check this before you apply $\arccos{x}$ which is defined only in the domain [-1,1].
Now you need to determine the sidereal times when this is visible. Just use $h = \Theta - \alpha$ for $\Theta$. The $\Theta$ you get is the time of the set of the object. Let's denote it with $\Theta_{set}$. The object culminates at $\Theta_{culmination}=\alpha$, but when does it rise? At $\Theta_{rise}=2\Theta_{culmination}-T_{set}$. Thus, for the object to be seen, the current sidereal time must be $\Theta_{rise}\leq \Theta_{current} \leq \Theta_{set}$. You see, that the sidereal time when the star is visible is independent of the current solar date and time. (Note that you must also handle the situation where the sidereal time of rise is for example $23^h50^{min}$ and the time of set is $2^h20^{min}$. No number is larger than the first and lower than the second; I recommend you that in this case just add 24h to the second number.)
Note that this is only the sidereal time at some geographical longitude $\lambda$. For the sidereal time at Greenwich, you need to calculate $\Theta_{Greenwich}=\Theta_{local}-\lambda$. Make sure that they are both in same units. (Right ascension is normally given in hours, minutes and seconds.)
Now we have to just recalculate the sidereal time to solar time. Let $n$ be the number of days since the vernal equinox. We can now get the solar time $t$ using (of course, use more precise number than 4 min):
$$t=\Theta - 4\rm\, min \cdot n$$
Now, we can just say that the time must be between:
$$t_{rise}\leq t\leq t_{set}$$
for the object to be above the horizon.
The final thing is just to add some number of hours to the Greenwich time to include time zones.
More concise version:
- For some declination and right ascension, calculate the hour angle of set.
- Calculate the local sidereal times of rise and set.
- Recalculate the local sidereal times to Greenwich.
- Calculate the solar time at Greenwich of rise and set.
- Add some hours for time zones.
- Determine whether the selected time is between these two numbers.