Ver Mensaje Individual
  #2 (permalink)  
Antiguo 03/04/2015, 01:45
lareto
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Sistema bancario (cajero automático) [C++] [CMD]

Hola; te dejo algunos comentarios de tipo general, y que tienen que ver con la forma antes que con el contenido.

Código:
#include "stdafx.h"
stdafx.h es un header generado por Visual Studio. No es que vaya a estar mal, sólo que en esta primera línea estás diciendo que todo lo que viene debajo ha sido escrito en y para un producto de microsoft.

Lo mismo para int _tmain(int argc, _TCHAR* argv[])
las formas estándar de la función main() son dos:
int main()
y
int main(int argc, char** arv)
como tu programa no usa los parámetros, deberías poder usar int main(), a secas.

Código:
#include <Windows.h>
Creo que estás incluyendo este archivo sólo para usar Sleep(). En general se prefiere adscribir a variantes estándar antes que usar funciones exclusivas de un sistema u otro. Para el caso de Sleep(), hay formas estándar (y sólo por eso, mejores) de producir una demora controlada. [por ejemplo: http://en.cppreference.com/w/cpp/thread/sleep_for]

Creo que para estudiar el C++ es mejor usar sólo características del estándar, evitando librerías y dependencias propias del compilador que se use o del sistema operativo. Deberías poder quitar Sleep() y system("cls"), que son sólo de Windows.

Código:
using namespace std;
No es de lo más aceptado en código de la vida real. Vuelca los miles de nombres del namespace std en la unidad de compilación, que en sistemas más complejos trae problemas, sobre todo si se cree que andar escribiendo "using namespace loquesea;" es normal; y no, no lo es. Es mejor dejar los nombre calificados con sus respectivos especificadores. Por ejemplo:
std::cout << "hola";
Otra opción puede ser:
using std::cout;
//... ...
cout << "hola";
En mi opinión "using namespace std;" es propio de vagos.

Código:
int saldo = 5000;
bool esalir = false;
bool salir1 = false;
bool eexit = false;
Variables globales... puede interesarte leer http://bytes.com/topic/c/insights/73...obal-variables

Código:
void menu(){
Hay una regla general de estilo que recomienda que una entidad (en este caso, una función) esté dedicada a una sola cosa ("cohesive responsibility"). Aquí menu() lo está haciendo todo.

Otra regla recomienda la brevedad (lo bueno si breve...). Una forma de abreviar sería evitar el código repetido, que veo que lo has intentado con la función menu1(), pero que no usas (por lo que deberías quitarla), pero sin embargo era una buena idea.

Bueno, hasta aquí mis comentarios / críticas sobre los aspectos formales; lo que no he probado es si funciona. ¿Dónde está este cajero?