Click here to Skip to main content
15,844,362 members
Home / Discussions / C / C++ / MFC
   

C / C++ / MFC

 
GeneralRe: MFC CDialog hosting WPF components Pin
Member 88339813-Apr-15 5:36
Member 88339813-Apr-15 5:36 
QuestionHow to download a file from URL without using curl or libcurl ..in c++.? Pin
mbatra312-Apr-15 0:42
mbatra312-Apr-15 0:42 
AnswerRe: How to download a file from URL without using curl or libcurl ..in c++.? Pin
Jochen Arndt2-Apr-15 1:17
professionalJochen Arndt2-Apr-15 1:17 
GeneralRe: How to download a file from URL without using curl or libcurl ..in c++.? Pin
mbatra316-Apr-15 22:44
mbatra316-Apr-15 22:44 
QuestionRe: How to download a file from URL without using curl or libcurl ..in c++.? Pin
David Crow2-Apr-15 5:04
David Crow2-Apr-15 5:04 
QuestionImplementing Finite State Machine using C++ Pin
Member 93502371-Apr-15 23:19
Member 93502371-Apr-15 23:19 
QuestionRe: Implementing Finite State Machine using C++ Pin
David Crow2-Apr-15 5:09
David Crow2-Apr-15 5:09 
AnswerRe: Implementing Finite State Machine using C++ Pin
CPallini2-Apr-15 7:31
mveCPallini2-Apr-15 7:31 
Quote:
but every article iv read about them is different and sometimes they leave out details, I couldn't understand it properly.

They are different because FSM are widely used, for different purposes.
There are not may details to understand. A finite state machine is a rather simple stuff. You should understand your scenarion, though.
By wild guess, you could do something like (or go with a more OO approach)
C++
struct FSMData
{
  FSMState state;
  // other useful data
};

void update_fsm(FSMData & fsmd)
{
  switch(fsmd.state)
  {
  case STATE_MENU:
   handle_menu(fsmd);
   break;
  case STATE_GAME:
   handle_game(fsmd);
  //...
  }

void handle_menu(FSMData & fsmd)
{
  //...
  if ( userSelection() == PLAY_GAME)
  {
    // cleanup here
    fsmd.state = STATE_GAME;
    return;
  } 
  // ...
}

void handle_game(FSMData & fsmd)
{
  // ...
  if (userInput() == QUIT_GAME)
  {
    // cleanup here
    fsmd.state = STATE_MENU;
    return;
  }
  // ...
}

GeneralMessage Closed Pin
2-Apr-15 10:10
Member 93502372-Apr-15 10:10 
GeneralRe: Implementing Finite State Machine using C++ Pin
Sascha Lefèvre3-Apr-15 1:53
professionalSascha Lefèvre3-Apr-15 1:53 
Questionconst char error Pin
ForNow1-Apr-15 5:01
ForNow1-Apr-15 5:01 
AnswerRe: const char error Pin
Richard MacCutchan1-Apr-15 5:07
mveRichard MacCutchan1-Apr-15 5:07 
GeneralRe: const char error Pin
ForNow1-Apr-15 6:13
ForNow1-Apr-15 6:13 
GeneralRe: const char error Pin
Richard MacCutchan1-Apr-15 6:17
mveRichard MacCutchan1-Apr-15 6:17 
SuggestionRe: const char error Pin
David Crow1-Apr-15 6:13
David Crow1-Apr-15 6:13 
AnswerRe: const char error Pin
vishwadeepak mani tripathi2-Apr-15 9:05
vishwadeepak mani tripathi2-Apr-15 9:05 
GeneralRe: const char error Pin
ForNow2-Apr-15 10:46
ForNow2-Apr-15 10:46 
GeneralRe: const char error Pin
ForNow2-Apr-15 17:54
ForNow2-Apr-15 17:54 
SuggestionRe: const char error Pin
David Crow3-Apr-15 4:23
David Crow3-Apr-15 4:23 
GeneralRe: const char error Pin
ForNow3-Apr-15 5:27
ForNow3-Apr-15 5:27 
Question[C++]execute other program on second monitor Pin
Member 1156860630-Mar-15 20:22
Member 1156860630-Mar-15 20:22 
AnswerRe: [C++]execute other program on second monitor Pin
Richard MacCutchan31-Mar-15 0:13
mveRichard MacCutchan31-Mar-15 0:13 
QuestionUnwanted radio button click Pin
lor7530-Mar-15 9:29
lor7530-Mar-15 9:29 
AnswerRe: Unwanted radio button click Pin
David Crow30-Mar-15 10:24
David Crow30-Mar-15 10:24 
GeneralRe: Unwanted radio button click Pin
lor7531-Mar-15 9:47
lor7531-Mar-15 9:47 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.