Hola,
El problema radica en tu prototipo de función, claramente no hay necesidad del parámetro opciones en la función "op". Además si tu vas a retornar un valor, claramente ocuparás una variable que lo almacene y no puedes ocupar aquella que pasaste como parámetro.
#include "stdafx.h"
#include <iostream>
#include <iomanip>
void encode();
int op();
int main()
{
int resultado;
resultado = op();
switch(resultado)
{
case 1: encode();
break;
default: std::cout << "nada!";
}
system ("pause");
return 0;
}
int op()
{
int opciones = 0;
std::cout << "Select an option:\n1.Encode\n";
std::cin >> opciones;
system("cls");
return opciones;
}
void encode()
{
int counter = 0;
FILE * filePad;
int lengthText = 0;
char text[50000];
filePad = fopen("TextEncrypted.txt", "a+");
std::cout << "Text:\n";
std::cin.getline(text, 50000);
}
Así debería de funcionarte, en cuanto al código que coloques utiliza la etiqueta geshi y no code.
Saludos.