quien me orienta con este ejercicio en c++

Iniciado por EL PORTU, 11 Mayo 2013, 05:40 AM

0 Miembros y 1 Visitante están viendo este tema.

EL PORTU

estoy haciendo un programa de cajero automatico me corre pero tiene varios errores quien me pueda ayuda se los agradeceres o si tiene otra forma sencilla de hacer el cajero automatico tambie deria de ayuda para compara aqui esta los que hice             :

#include<stdio.h>
int a=123456,opcion=0;
main()
      {
       printf("\nESTE PROGRAMA MUESTRA COMO ES EL SISTEMA DE UN CAJERO AUTOMATICO");
       printf("\nDame tu clave");
       scanf("\n%d",&a);
       if(a==123456)
       printf("\nEs correcto");
       else
       printf("\n Contraseña invalida");
       printf("\nTeclea otra ves tu clave");
       scanf("\n%d",& a);
       if(a==123456)
       printf("\nEs correcto");
       else
       printf("\nContraseña invalida");
       printf("\nTeclea nuevamente  tu clave");
       scanf("\n%d",& a);
       if(a==123456)
       printf("\nEs correcto");
       else
       printf("\n Contraseña invalida\n");
       printf("\nEste es el menu de opciones ");
       printf("\n1.-Traspaso\n");
       printf("\n2.-Recargas\n");
       printf("\n3.-Retiro en efectivo\n");
       printf("\n11.-Salir\n");
       printf("\nTeclea la opcion que quieras\n");
       scanf("\n%d",&opcion);
       switch(opcion)
              {
                  case 1:
                        {
                         puts("Traspaso");
                         puts("GRACIAS POR SU PREFERENCIA");
                         break;
                        }
                  case 2:
                        {
                         puts("Recargas");
                         puts("GRACIAS POR SU PREFERENCIA");
                         break;
                        }
                  case 3:
                        {
                         puts("\nRetiro en efectivo");
                         puts("\nCuanto deseas retirar:");
                         puts("\nElige la opcion que quieras para retirar");
                         puts("\nPuedes elegir:");
                         puts("\n4.- $20");
                         puts("\n5.- $50");
                         puts("\n6.- $100");
                         puts("\n7.- $200");
                         puts("\n8.- $500");
                         puts("\n9.- $1000");
                         puts("\nElige la opcion que quieras");
                         break;
                        }
                  case 4:
                        {
                         puts("Elegiste la opcion de $20");
                         puts("GRACIAS POR SU PREFERENCIA");
                         break;
                        }
                  case 5:
                        {
                         puts("Elegiste la opcion de $50");
                         puts("GRACIAS POR SU PREFERENCIA");
                         break;
                        }
                  case 6:
                        {
                         puts("Elegiste la opcion de $100");
                         puts("GRACIAS POR SU PREFERENCIA");
                         break;
                        }
                  case 7:
                        {
                         puts("Elegiste la opcion de $200");
                         puts("GRACIAS POR SU PREFERENCIA");
                         break;
                        }
                  case 8:
                        {
                         puts("Elegiste la opcion de $500");
                         puts("GRACIAS POR SU PREFERENCIA");
                         break;
                        }   
                  case 9:
                        {
                         puts("Elegiste la opcion de $1000");
                         puts("GRACIAS POR SU PREFERENCIA");
                         break;
                        }
                  case 11:
                          {
                           puts("Elejiste la opcion de salir");
                           puts("GRACIAS POR SU PREFERENCIA");
                           break;
                          }
                  default:
                          puts("opcion erronea");                                 
              }
                         getchar();
                         getchar();
      }       

CodeSource


#include<stdio.h>
int a=123456,opcion=0;
main()
      {
       printf("\nESTE PROGRAMA MUESTRA COMO ES EL SISTEMA DE UN CAJERO AUTOMATICO");
       printf("\nDame tu clave");
       scanf("\n%d",&a);
       if(a==123456)
       printf("\nEs correcto");
       else
       printf("\n Contraseña invalida");
       printf("\nTeclea otra ves tu clave");
       scanf("\n%d",& a);
       if(a==123456)
       printf("\nEs correcto");
       else
       printf("\nContraseña invalida");
       printf("\nTeclea nuevamente  tu clave");
       scanf("\n%d",& a);
       if(a==123456)
       printf("\nEs correcto");
       else
       printf("\n Contraseña invalida\n");
       printf("\nEste es el menu de opciones ");
       printf("\n1.-Traspaso\n");
       printf("\n2.-Recargas\n");
       printf("\n3.-Retiro en efectivo\n");
       printf("\n11.-Salir\n");
       printf("\nTeclea la opcion que quieras\n");
       scanf("\n%d",&opcion);
       switch(opcion)
              {
                  case 1:
                        {
                         puts("Traspaso");
                         puts("GRACIAS POR SU PREFERENCIA");
                         break;
                        }
                  case 2:
                        {
                         puts("Recargas");
                         puts("GRACIAS POR SU PREFERENCIA");
                         break;
                        }
                  case 3:
                        {
                         puts("\nRetiro en efectivo");
                         puts("\nCuanto deseas retirar:");
                         puts("\nElige la opcion que quieras para retirar");
                         puts("\nPuedes elegir:");
                         puts("\n4.- $20");
                         puts("\n5.- $50");
                         puts("\n6.- $100");
                         puts("\n7.- $200");
                         puts("\n8.- $500");
                         puts("\n9.- $1000");
                         puts("\nElige la opcion que quieras");
                         break;
                        }
                  case 4:
                        {
                         puts("Elegiste la opcion de $20");
                         puts("GRACIAS POR SU PREFERENCIA");
                         break;
                        }
                  case 5:
                        {
                         puts("Elegiste la opcion de $50");
                         puts("GRACIAS POR SU PREFERENCIA");
                         break;
                        }
                  case 6:
                        {
                         puts("Elegiste la opcion de $100");
                         puts("GRACIAS POR SU PREFERENCIA");
                         break;
                        }
                  case 7:
                        {
                         puts("Elegiste la opcion de $200");
                         puts("GRACIAS POR SU PREFERENCIA");
                         break;
                        }
                  case 8:
                        {
                         puts("Elegiste la opcion de $500");
                         puts("GRACIAS POR SU PREFERENCIA");
                         break;
                        }   
                  case 9:
                        {
                         puts("Elegiste la opcion de $1000");
                         puts("GRACIAS POR SU PREFERENCIA");
                         break;
                        }
                  case 11:
                          {
                           puts("Elejiste la opcion de salir");
                           puts("GRACIAS POR SU PREFERENCIA");
                           break;
                          }
                  default:
                          puts("opcion erronea");                                 
              }
                         getchar();
                         getchar();
      }       


así se ve mejor , yo te recomendaria que identes un poco para que se vea más orenado (: no manejo C pero ya habra alguien que te aconseje NOTA : no te sugiero porque desconozco la sintaxis aunque las palabras claves y eso son muy generales en otros lenguajes (:
Creo en un solo lenguaje de programación, "C"
Todo poderoso, Creador de Windows `98 y el XP.
Creo en un solo señor "C++", hijo único de "C",
Nacido de "C" antes que de "Visual C++",
"C" de "C", compilador de Compilador,
"C" © copyrighted de © copyrighted.
Compilado, no creado,
De los mismos programadores que el padre,
Por quien todo es programado, ...

amchacon

Vamos a ver, para la clave tienes que usar un bucle:

printf("\nDame tu clave");
scanf("\n%d",&a);

while (a != 123456)
{
     printf("\n Contraseña invalida");
     printf("\nTeclea otra ves tu clave");
     scanf("\n%d",& a);
}

printf("Contraseña correcta");


Además en el case 3 se te ha olvidado un scanf.

La próxima vez dinos que errores tiene (y acabamos antes).
Por favor, no me manden MP con dudas. Usen el foro, gracias.

¡Visita mi programa estrella!

Rar File Missing: Esteganografía en un Rar

leosansan

#3

Para empezar no es C++ sino más bien C.


Además de lo comentado por amchacon, tienes dos switch y no tiene por qué continuar los case del uno con el otro, ambos pueden empezar de 1, eso sí con dos opciones diferentes para no liarla.

Las opciones con entero pueden dar bucles si el usuario entra una letra en lugar de un número, de ahí que yo los use como char y en los case, al ser char van entre las comillas simples.

Sería conveniente darle al usuario la opción de regresar al menú principal una vez que ha usado el menú secundario o segundo switch, así al menos es como funcionan los cajeros y limpiar o refrescar la pantalla según se vayan seleccionando opciones. Con estas opciones te propongo este código para seguir mejorándolo:


Código (cpp) [Seleccionar]
#include<stdio.h>
#include<stdlib.h>
#define GRACIAS     puts("GRACIAS POR SU PREFERENCIA")
int main(){
      int a;
      char opcion,opcion1;
      puts("\nESTE PROGRAMA MUESTRA COMO ES EL SISTEMA DE UN CAJERO AUTOMATICO");
       while(1){
           puts ("\nDame tu clave");
           scanf(" %d",&a);
           if(a==123456){
               system ("cls");
               puts("\nEs correcto");
               break;
           }
           else{
               printf("\n Contraseña invalida");
               printf("\nTeclea otra ves tu clave");
           }
      }
       while (1){
       system("\npause");
       system ("cls");
       puts("\nEste es el menu de opciones\n ");
       puts("1.-Traspaso\n");
       puts("2.-Recargas\n");
       puts("3.-Retiro en efectivo\n");
       puts("4.-Salir\n");
       puts("\nTeclea la opcion que quieras\n");
       scanf(" %c",&opcion);

           switch(opcion)
             {
                 case '1':
                       {
                           puts("Traspaso");
                           GRACIAS;
                        break;
                       }
                 case '2':
                       {
                        puts("Recargas");
                        GRACIAS;
                        break;
                       }
                 case '4':
                         {
                              puts("Elejiste la opcion de salir");
                              GRACIAS;
                              system("\npause");
                              return 1;
                         }
                       default:
                         puts("opcion erronea");
                 case '3':
                       {
                        system ("cls");
                        puts("\nRetiro en efectivo");
                        puts("\nCuanto deseas retirar:");
                        puts("\nElige la opcion que quieras para retirar");
                        puts("\nPuedes elegir:");
                        puts("1.- $20");
                        puts("2.- $50");
                        puts("3.- $100");
                        puts("4.- $200");
                        puts("5.- $500");
                        puts("6.- $1000");
                        puts("7.- Volver al menu principal");

                               puts("\nElige la opcion que quieras");
                               scanf("\n%c",&opcion1);
                               switch(opcion1)
                                {
                                   case '1':
                               {
                                    puts("Elegiste la opcion de $20");
                                    GRACIAS;
                                    break;
                               }
                               case '2':
                               {
                                    puts("Elegiste la opcion de $50");
                                    GRACIAS;
                                    break;
                               }

                               case '3':
                               {
                                    puts("Elegiste la opcion de $100");
                                    GRACIAS;
                                    break;
                               }
                               case '4':
                               {
                                    puts("Elegiste la opcion de $200");
                                   GRACIAS;
                                    break;
                               }
                               case '5':
                               {
                                    puts("Elegiste la opcion de $500");
                                    GRACIAS;
                                    break;
                               }
                               case '6':
                               {
                                    puts("Elegiste la opcion de $1000");
                                    GRACIAS;
                                    break;
                               }
                               case '7':
                               {
                                    puts("Elegiste la opcion de volver al menu principal");
                                    GRACIAS;
                                    break;
                               }
                               default:
                                 puts("opcion erronea");
                                 break;
                           }

                       }

             }
       }
       return 0;

     }


Saluditos!. .....