Yo soy así de chulo y voy a intentar ayudarte.
Si usas una variable global no necesitas luego en una función pasar su dirección de memoria
y menos moldearla a un puntero a un entero (int *), simplemente asigna a dicha variable el puntero a la función y luego lo usas.
Los separadores usan el caracter de escape \, así que no es /n es \n (aunque creo que esto es lo que está mal a propósito no?

)
No uses fflush para un stream de entrada como stdin, el comportamiento no está definido por el estándar. En su caso, haz esto:
Y luego lo usas: clear_input_stream(stdin). Vaciará hasta el fin de linea.
En la declaración y definición de funciones en C se pone en la lista de parámetros
void para señalar que no tiene parámetros (esto en la llamada a la función no hace falta). Tal como las declaras y defines, es más de C++. Esto es opcional hoy día, antes era obligatorio ya que no definir parámetros quería decir que era número variable de parámetros (ahora esto se define con tres puntos suspensivos "...").
Es mejor que uses get
char a usar scanf por el hecho de que scanf debe de parsear el formato del primer parámetro mientras get
char no usa parámetros y no tiene nada secundario que hacer.
En vez de usar * para salir del programa, haz una función "salir" que lo haga, así no necesitas especializar condiciones.
Si quieres leer una linea entera puedes usar la función fgets o scanf con un formato específico ("%[^\n]") aunque es mejor usar fgets. Busca información sobre esta función.
En C es
int main(), no main() y debe devolver un valor obligatoriamente: 0 es salida correcta del programa y un número diferente es salida con error. Esto no es obligatorio pero es satisfacer el estándar que para algo está

.
Y es eso, ¡sigue así!