Help with C# flowchart, please?

I have done a hangman program in console but I need a flowchart for it in the most general sense. Is there anyone that could possibly help me with it?



Thanks in advance!

Wow, they still make you do flow charts in school?  I remember doing those way back in high school, but I am surprised programming classes still use them.  I could see them teaching UML, but flow charts are a complete waste of time.  No one in the real world uses them.

Here is a high level flow chart for a hangman program, you can tailor it for your exact program:




Yes, they are still making us use flowcharts.  I have just learned about flowcharts in my class,  FUNDAMENTALS OF PROGRAMMING WITH ALGORITHMS AND LOGIC.  I do not know anything about programming but it is something that I want to learn.  This is the first class into the programming courses as I just finished all my pre-requisites at the University of Phoenix.  it has proven quit difficult for me to try and understand it. 

We also just learned about psuedocode and even that has proven a bit difficult as I am a visual learner/hands on type of learner.  I wanted to go to ITT but the cost was way to high and the credits were non-transferable.

I do like working with computers but I have difficulties retaining information that I just learned.  I usually find YouTube video that explain the process so I can better understand it.  I also watch videos at  Any other ways of learning that might be helpful please let me know.

It is funny, a few days after I wrote this, I was in a design review and one of the software developers presented a slide with a flow chart. That was the first flow chart I have seen in a long time. However, the flow chart was used to define a business process and did not define how to the code works.

I think the main reason why I find flow charts to be so useless is all of the time I had to spend using a plastic flow chart template drawing flow charts, only to have the final program never end up even close to the flow chart. Then before submitting the assignment, I was forced to change the flow chart to match the actual program. But the whole purpose of making the flow charts was to use them as a direct map for building your code, not to build the code then create the flow charts.

Beyond very simple programs, flow charts are not really useful. Defining a flow chart for even a simple application, will end up being too complex, hard to follow, and way too time consuming.

In my Computer Science curricula for both undergrad and grad school, we never used flow charts.

In my first few CS classes during undergrad, they made us do abstract and concrete API design. This was also equally useless.  Again, you always ended up doing the design, writing the code, then rewriting the abstract and concrete design to match code.

I am not a huge fan of UML, but it is probably the best “universal” software design technique, particularly for Object Oriented Design. You can just as easily come up with and use your own symbols and notations to denote objects, the interactions of object and system flow, but if you use UML anyone who knows UML will be able to understand it.

UML defines lots of different design elements, but the most useful ones are the class diagrams, sequence diagrams, and to a lesser extent Use Case Diagrams. The rest of UML’s design elements can be useful at times, but by in large these three are the ones that will help you design software.

A class diagram will help you define what attributes and methods define each class and how the classes relate to each other. Sequence diagrams define interactions between components during a particular action. E.g., when a user logs into a system, he sends his login credentials to the server, the sever sends the user credentials to the authentication and authorization service (A&A service) , the A&A service validates the user credentials against the credential store, the A & A service grants access the user, the sever logs the user into the system. Use case diagrams define how users interact with the application.

When designing a computer program for your programming class, creating Sequence Diagrams will be infinitely more useful than using flow charts. When creating an Object Oriented application like this C# hangman program, creating a class diagram will be very helpful. It will allow you to define what classes will comprise your application, the data member (attributes) each class has, the methods each class defines, and how the classes relate to each other.

Do you know anywhere were we can see examples of these types of diagrams so we can get a better picture of what they look like? Thanks.

Below is a link to a pretty good intro to UML. It is from IBM, who builds the most popular UML modeling software tools--I personally do not use IBM's UML tools, there are free Eclipse plugins that are much easier to use and do a better job going back and forth between the model and your code. I will also include another link that gives more details about Sequence Diagrams, since you are looking for something better than flows charts to help you understand programmatic flow. One additional thing I will say about Sequence Diagrams, they are traditionally used to show exact method invocation between objects, what each invocation returns, and the time sequence of events--hence the name Sequence Diagrams. However, they can also be used to show very high level interaction between your application components. When you are first starting your application design, using Sequence Diagrams to show this type of high level interaction can be very helpful in not only determining what components will talk to each other, but also help you define what components your application will need.

There may also be some good videos on YouTube that you can watch to help you get the hang of UML, just search for UML tutorial on YouTube and see what is there.

UML Overview:

More details about sequence diagrams:

I don't mean to necro this thread, but I just wanted to say thank you for the help! I really appreciate it! I managed to do somewhat good but I can see why no one would use it. I mean the concept is really good but when talking to potential customers (practicing on people around me) they have no clue anyway. I mean sure maybe if everyone are coders and you work in the gaming industry it would be useful. In anyway, Thank you very much for the links and advices, it always feels good when people support you =)!