Código C++:
Ver original#include <iostream>
using namespace std;
int main() {
//banco b;
char opcion;
//iniciar ( b );
while ( opcion != '5' ) {
cout << "------------MENU------------" << endl;
cout << "1-Insertar " << endl;
cout << "2-Consultar " << endl;
cout << "3-Hacer un pedido " << endl;
cout << "4-Mostrar toda la información " << endl;
cout << "5-Salir" << endl;
cout << "----------------------------" << endl;
switch ( opcion ) {
case '1':
//...
break;
case '2':
//...
break;
case '3':
//..
break;
case '4':
//...
break;
case '5':
//..
break;
}
}
return 0;
}
Eso es por que tienes residuos enel buffer.
El dichoso enter '\n' te hace eso cuando se mete en el buffer.
El scanf("%c%*c", &opcion); toma un char pero ignora el enter que hace esos estragos en tu programa XDD
debes o bien limpiar el buffer o bien intentar que no se te cole enter en el.
Enter tambien es un char y por eso se da esos problemas.
Consulta por internet como limpiar el buffer. Si encuentras algo con fflush no lo uses XDDD

Suerte!