First, let's deal with the case when $(G,+)$ is finitely generated. By the fundamental theorem of finitely generated abelian groups, let's go ahead and assume that $G$ is given to us in the form $\bigoplus_{i=1}^{m} \mathbb{Z}/n_i\mathbb{Z}$ where $n_1|n_2|\cdots |n_m$ are non-negative integers. [Some of them could be zero.] Let $g_i$ be a generator of $\mathbb{Z}/n_i\mathbb{Z}$.
There are at most countably many choices for $g_i g_j\in G$, which we can easily enumerate. Thus, an algorithm can run through each possibility. So we are reduced to the following question: Given a table of $m\times m$ elements of $G$ (where we think of the $(i,j)$ value as $g_i g_j)$ can we decide whether this gives a ring structure to $G$ (by extending in the obvious way, using addition and distributivity, to a multiplication on $G$)? I haven't worked out all the details, but this seems plausible to me. Checking whether or not this multiplication is well-defined, associative, has a unit, and is distributive should all turn into solvable linear algebra problems. I'll leave it to you to double-check that this works. [Sketch: Define $$(a_1 g_1 + a_2 g_2 + \cdots + a_m g_m)(b_1 g_1 + b_2 g_2 + \cdots + b_m g_m) := \sum_{i,j} a_i b_j \varphi(i,j),$$ where $\varphi(i,j)$ is the $(i,j)$ value in your table. To check well-definedness, replacing $a_i$ by $a_i+k n_i$, we need to check that the new resulting output is congruent (modulo $n_i$$n_j$ in the $i$$j$th coordinate, for each $j$) to the original output (repeating the process with the $b$'s as well). etc...]
Second, when $(G,+)$ is not finitely generated, there are all sorts of problems. One is that I don't know how you'd tell the computer which group you are talking about. Another is that a countable group can have uncountably many compatible ring structures [just take $G$ to be a countable dimensional $\mathbb{F}_2$-vector space, for instance] and so I don't know how an algorithm would output uncountably many ring structures for you.