I don't know about your level of programming, but assuming nothing, a key concept that I see missing from the discussion so far is that for a text adventure, you should aim to make something that is 'data driven'. That is, you *can* actually make an adventure game entirely in a standard programming language such as c++ or c#, with each room taking you into a different function that displays the text for the description etc.
That is a very valid way to learn some basics of a language, but to make anything bigger than a few rooms you should aim to make your own mini text adventure 'engine'. That is, you should decide upon some data structures to hold rooms, objects, and e.g. decision trees, and make it so this data can be loaded in from files, rather than being hard coded as part of the program.
Once the 'story' becomes data, the role of the program becomes to do things like keep track of which room you are in (perhaps an ID?), and when entering a room, display a description of the room (maybe some text that is associated with that room ID), a list of objects in the room (a list joined to the room object?).. your inventory might be a list of objects joined to your player object?
You have a choice, you can either cheat and do some research how other text adventures store their data, or as a learning exercise, go in 'blind' and try and figure it out yourself. Having a text file describe a room with an ID, and lists of objects should be fairly simple. Encoding e.g. decision trees as text might be a little more challenging but will help you learn.
If you want to get a heads up on what kind of things you might be storing, I'm sure there are plenty of examples, here's one from google:
Just to add to this, you don't have to achieve everything in one go. Imo, your first aim should be to store in e.g. a text data file a list of rooms, e.g.
<room id="0">
"You are in a comfortable tunnel like hall. To the east there is the round green door."
<exit dir="E" room="1"/>
</room>
<room id="1">
"You are in second room. To the west there is the first room."
<exit dir="W" room="0"/>
</room>
load these into your program, and display the room description and be able navigate around them (you don't have to use XML btw this is just an example).