Q:

Simple Option Menu (C)

I am trying to make a simple option menu that is executed within a do- while loop. The menu has 5 different options. I am currently trying to test the the get initial option but when I choose the case 'b' the function does not even execute and the option menu reappears again
#include "mathprogram.h"

int main (void)
{
    char menu_option,initials;
    int difficulty;

    printf("        EDUCATIONAL MATH PROGRAM!!!\n");
    printf("------------------------------------------\n\n");

    do{
    printf("Main Menu\n");
    printf("a. Learn about how to use program.\n");
    printf("b. Enter your initials (3 individual letters).\n");
    printf("c. Difficulty Selection.\n");
    printf("d. Start a new sequence of problems.\n");
    printf("e. Save and quit.\n");
    printf(" Please enter an option from the main menu: ");
    scanf("%c",&menu_option);

    switch(menu_option){

    case 'a':
        //Learn_to_use();

        break;
    case 'b':
        initials=get_intials();

        break;
    case'c':
        printf("case c");
        //difficulty = get_difficulty();
        break;
    case'd':
        break;
    case'e':
        break;
    default:
        printf("invalid input");
            break;
    }

    }while(menu_option !='e');

    }

get initials function:
#include "mathprogram.h"

char get_intials(void){
    char initails;
    printf("Please Enter Initials: ");
    scanf("%c",&initails);
    return initails;

}

A:

scanf("%c", &var);

leaves the newline in the buffer or stream.
Try to change it to
scanf(" %c", &var);

and it should work as expected (Note the space before the %; this consumes the whitespace so that the next scanf call should work).
However, the initials as defined in your program consist of only one character, not three. I'll leave that up to you to design, that is a different question.

