Well, one of the nice aspects of a text based app is the simplification it provides. The subject of software development and engineering is broad, deep and the sheer detail required to get just about anything working of any ambition is considerable, so there's enough to do as it is without taking on complications on top of complications.
There is another issue about C++ development that I'd like to bring up just as food for thought here. As any application becomes more than the short example style you've mentioned thus far, there comes a point where you must manage sizable data, sort data, process information, and that brushes up against some of the general theory of computer science. These are entirely comprehensible and workable, I don't predict they'll be a problem for you.
There's more than one way to solve these issues, and some solutions are C oriented - the historical roots of C++, and they're tediously complicated and prone to bugs.
You're protected to an extent that is quite a luxury compared to years ago. In the 80's, when I was creating my first business, a time existed where it was actually possible to incorporate a bug in C (C++ didn't yet exist commonly) where you could actually cause a CRT monitor to catch fire!
No joke!
Other kinds of bugs could accidentally destroy the content of the hard drive in the snap of a finger. All but irrecoverable.
It's quite fortunate that the protections incorporated into the modern operating systems prevent this problems, but related bugs do happen - we see them as "unexpected application errors" or other crashes.
You'll have an easier and better time of this than we did.
On the other hand, what I'm getting at is that depending on what design you choose for your next application target, there could be quite a learning experience - that's what you really want, I'm sure, and I'm cautioning only that you'll also have to learn patience with yourself, and persistence in research. It's a tough balance to strike between accepting challenge, and taking on more than is reasonable. I think, if I sense your position correctly, a 3D graphics application could be over that point, and a 2D GUI might be close - simply choosing to make a text based application isn't any guarantee that the target choice is simplified; it could still be either over or within that margin of reason depending on how things proceed.
So we're talking about the design of a text oriented application which will be interesting, of some reasonable ambition that will require you to cover a range of concepts not yet familiar to you, and that will keep your interest.
I mentioned "trek" earlier. It may not have rung a bell. Here's an example of a late 70's early 80's text game display...
Code:
..1..2..3..4..5..6..7..8..9..10 K - Shlds: 85%
1 - Vect: 7 @ .1
2 K - Wpns: 50%
3 R
4 <B> R - Shlds: 20%
5 - Vect: 6 @ .25
6 - Wpns: 25%
7
8 E E - Shlds: 35%
9 - Vect: 3 @ .1
10 - Wpns: 55%
1) Fire, 2) Nav, 3) Shlds, 4) Comm
This shows a text based game involving 3 starships and a starbase in this display. Each ship has shields, a direction (Vector), Weapon status, etc.
The <B> is a starbase.
Each time a command is issued, this display is printed showing the updated display. It runs like a board game in this style. It was common in lots of forms on the RadioShack TRS-80 8 bit computer of the late 70's, almost all machines that ran a form of BASIC interpeter, several versions were created and sold for about $5 each (on cassette tape, usually) - and, it was interesting to play.
I show that in case it fits the bill and you didn't recognize the nature of a late 70's/early 80's style "trek" game.
Care to suggest an entirely different direction instead?