• Lunes 16 de Diciembre de 2024, 04:32

Autor Tema:  corregir codigo  (Leído 2146 veces)

milnu

  • Nuevo Miembro
  • *
  • Mensajes: 4
    • Ver Perfil
corregir codigo
« en: Jueves 3 de Septiembre de 2009, 21:15 »
0
Alquien me podria dar la solucion de este codigo el problema es el siquiente:
nesecito que al entrar a una obsion del menu me de la obsion de regresar al menu principal y cual es el problema que tengo en el case 3 que me manda a llamar un programa.
AYUDA POR FAVOR ¡¡¡¡¡¡¡

SI ALQUIEN TIENE UNA RESPUESTA A MI INQUIETUD ESCRIBAME A M@IL: m_centeno_hanon@yahoo.es

CODIGO:
#include<iostream.h>
#include<stdlib.h>
#include<ctype.h>
#include<conio.h>
#include<stdio.h>
#include<string.h>
#define CANTIDAD 1
void main()
{

char opc;
gotoxy(20,7);cout<<"[1] DATOS DEL ALUMNO";
gotoxy(20,9);cout<<"[2] DESCRIPCION DEL TRABAJO";
gotoxy(20,11);cout<<"[3] PROGRAMA "CLIENTE"";
gotoxy(20,13);cout<<"[4] salir";
gotoxy(20,20);cout<<"Opcion..: ";
do{
gotoxy(30,20);opc=getch();
opc=toupper(opc);
}while(opc!='1' && opc!='2' && opc!='3'&& opc!='4');

switch(opc){
case '1':clrscr();
         gotoxy(15,8);
         printf("+++++++++++++++++++++++++++++++++++++++++++++++++++++++");
         gotoxy(15,9);
         printf(" NOMBRE:.................. MILTON JAVIER CENTENO HANON");
         gotoxy(15,11);
         printf(" LABORATORIO Nº:.......... " 3 "");
         gotoxy(15,13);
         printf(" CARNET:.................. " 09-0763-1 "");
         gotoxy(15,15);
         printf(" PROFESOR:................ JUAN LEIBA");
         gotoxy(15,16);
         printf("+++++++++++++++++++++++++++++++++++++++++++++++++++++++");
       
break;
case '2':clrscr();
         gotoxy(15,5);
         printf("+++++++++++++++++++++++++++++++++++++++++++++++++++++++");
         gotoxy(15,7);
         printf(" PROGRAMA:                 :: CLIENTES ::");
         gotoxy(15,10);
         printf(" DECRIPCION:");
         gotoxy(15,11);
         printf(" EL PROGRAMA ESTA ELABORADO PARA QUE INCRESE LOS DATOS");
         gotoxy(15,12);
         printf(" N CLIENTES Y QUE CALCULE EN BASE A UN RETIRO, EL ESTADO");
         gotoxy(15,13);
         printf(" DE CUENTA ACTUAL.");
         gotoxy(15,16);
         printf(" LOS DATOS A INCRESAR SON LOS SIQUIENTES:");
         gotoxy(15,17);
         printf(" 1. NOMBRE DEL CLIENTE.");
         gotoxy(15,18);
         printf(" 2. NUMERO DE CUENTA.");
         gotoxy(15,19);
         printf(" 3. TIPO DE CUENTA (ESPECIAL O NORMAL).");
         gotoxy(15,20);
         printf(" 4. SALDO A INCRESAR.");
         gotoxy(15,22);
         printf("+++++++++++++++++++++++++++++++++++++++++++++++++++++++");
break;
case '3':
clrscr();
struct cliente
{                            
   char numero_cuenta [10];
   char nombre_cliente [30];
   char apellido[30];
   char tipo_cuenta[20];
   int retiro;
};

struct cliente cuenta[CANTIDAD];
}
     int i,posicion=0;
   int retiros;
   int saldo_actual,retiro;
   char buscar[10];
   for(i=0;i<CANTIDAD;i++)
   {
      printf("tttt CLIENTE #%d:",i+100);
      printf("ntttt===============");
      printf("nnNUMERO DE CUENTA: ");
      fflush(stdin);
      gets(cuenta.numero_cuenta);
      printf("nNOMBRE: ");
      fflush(stdin);
      gets(cuenta.nombre_cliente);
      printf("nAPELLIDO: ");
      fflush(stdin);
      gets(cuenta.apellido);
      printf("nTIPO DE CUENTA: (ESPESIAL O NORMAL) ");
      fflush(stdin);
      gets(cuenta.tipo_cuenta);
      printf("nSALDO: ");
      fflush(stdin);
      scanf("%d",&cuenta.retiro);
      clrscr();
   }
   clrscr();
   printf("ttttPOR FAVOR");
   printf("nNUMERO DE CUENTA PARA RETIRO: ");
   fflush(stdin);
   gets(buscar);
   for(i=0;i<CANTIDAD;i++)
   {
      if(strcmp(cuenta.numero_cuenta,buscar)==0)
      {
         posicion++;
         printf("ntttCLIENTE: %s %s",cuenta.nombre_cliente,cuenta.apellido);
         printf("ntttNUMERO DE CUENTA: %s",cuenta.numero_cuenta);
         printf("ntttTIPO DE CUENTA: " %s"",cuenta.tipo_cuenta);
         printf("ntttSALDO: $ %d",cuenta.retiro);
         printf("nnRETIRO A EFECTUAR: ");
         scanf("%d",&saldo_actual);
         retiros = cuenta.retiro-saldo_actual;
         clrscr();
         gotoxy(20,8);
         printf("+++++++++++++++++++++++++++++++++++++++++++++++++++++++");
         gotoxy(20,9);
         printf(" CLIENTE:................. %s %s",cuenta.nombre_cliente,cuenta.apellido);
         gotoxy(20,10);
         printf(" NUMERO DE CUENTA:........ %s",cuenta.numero_cuenta);
         gotoxy(20,11);
         printf(" SALDO ANTERIOR:.......... $ %d",cuenta.retiro);
         gotoxy(20,12);
         printf(" RETIRO EJECUTADO:........ $ %d",saldo_actual);
         gotoxy(20,13);
         printf(" TIPO DE CUENTA:.......... " %s "",cuenta.tipo_cuenta);
         gotoxy(20,14);
         printf(" SALDO ACTUAL:............ $ %d",retiros);
         gotoxy(20,15);
         printf("+++++++++++++++++++++++++++++++++++++++++++++++++++++++");
         gotoxy(30,25);
         printf("GRACIAS POR SU ATENCION");

      }

   }
   if(posicion==0)
   {
      clrscr();
      printf("NUMERO DE CUENTA NO BALIDO.");
   }
}


break;
case'4': exit(0);

}
}
« última modificación: Viernes 4 de Septiembre de 2009, 18:46 por milnu »

AnimaSubtilis

  • Miembro MUY activo
  • ***
  • Mensajes: 172
  • Nacionalidad: co
    • Ver Perfil
Re: corregir codigo
« Respuesta #1 en: Jueves 3 de Septiembre de 2009, 23:15 »
0
Utiliza etiquetas de codigo eso no se entiende nada de nada... aparte tiene dos main es un  :hitcomp: desorden...

 :P  solo opino jajajaja

taluego.............
A menudo unas pocas horas de «prueba y ensayo» podrán ahorrarte minutos de leer manuales.
[size=150]
Dios nos Otorgo el uno y el cero....y con eso creamos un universo....[/size]

[size=109]↑°°°°ÄNÍMÄ §ÛBTÍLͧ°°°°↓[/size]


m0skit0

  • Miembro de PLATA
  • *****
  • Mensajes: 2337
  • Nacionalidad: ma
    • Ver Perfil
    • http://fr33kk0mpu73r.blogspot.com/
Re: corregir codigo
« Respuesta #2 en: Viernes 4 de Septiembre de 2009, 11:46 »
0
Tener 2 main no es un desorden, es imposible  :lol:

milnu

  • Nuevo Miembro
  • *
  • Mensajes: 4
    • Ver Perfil
Re: corregir codigo
« Respuesta #3 en: Viernes 4 de Septiembre de 2009, 17:20 »
0
Que podria hacer para que el menu me funcione, ademas les agradesco las criticas pero quisiera saber ademas del problema donde esta la solucion y que podria hacer que el programa cliente me corra en el programa del menu y a la hora de correr las describsiones del alumno y de las escripciones del programa despues me regrese al menu principal. :comp:

Nagisa

  • Miembro MUY activo
  • ***
  • Mensajes: 119
  • Nacionalidad: es
    • Ver Perfil
Re: corregir codigo
« Respuesta #4 en: Viernes 4 de Septiembre de 2009, 17:53 »
0
Buenas!!

Como ya te han dicho, tiene dos main(). Quita uno de los dos.

Si quieres que te den mejores indicaciones, moléstate un poco y organiza algo el código (por ejemplo, posteándolo entre etiquetas CODE que queda más fácil de leer). Prueba también a identarlo, ya que ayuda a ver bloques que no has cerrado bien.

En este caso, además, probaría a separar en diferentes funciones las diferentes opciones del menú. Hace que todo sea más legible y fácil de mantener.

Saludos.

PD: Qué tienen que ver las cuentas con el sonido que hacen las ovejas (balido)??  :huh:
   

milnu

  • Nuevo Miembro
  • *
  • Mensajes: 4
    • Ver Perfil
Re: SIEMPRE SOBRE EL CODIGO
« Respuesta #5 en: Viernes 4 de Septiembre de 2009, 17:59 »
0
SOLUCIONE EL PROBLEMA QUE TENIA CON EL MAIN() PERO AHORA QUIERO HACER QUE A LA HORA DE ENTRAR AUN CASE DESPUES PODER REGRESAR  AL MENU

GRACIAS POR SUS APORTES. :good:

Nagisa

  • Miembro MUY activo
  • ***
  • Mensajes: 119
  • Nacionalidad: es
    • Ver Perfil
Re: corregir codigo
« Respuesta #6 en: Viernes 4 de Septiembre de 2009, 18:20 »
0
Buenas:

Haz que después de las opciones ponga algo así como "Pulse cualquier tecla para continuar..." y cuando el usuario la haya pulsado se borre la pantalla y se vuelva al principio.

Te pongo un esqueleto de como sería:

Código: C
  1.  
  2. void main() {
  3.     char opc;
  4.  
  5.  
  6.     do {
  7.         // pintamos el menu....
  8.    
  9.         // leemos la opción escogida
  10.         opc = toupper(getch());
  11.  
  12.         // Seleccionamos en función de la opción
  13.         switch(opc) {
  14.  
  15.             case '1':
  16.                 // Lo que hace la opción 1
  17.             break;
  18.            
  19.             case '2':
  20.                 // Lo que hace la opción 2
  21.             break;
  22.  
  23.             case '3':
  24.                 // Lo que hace la opción 3
  25.             break;
  26.  
  27.             case '4':
  28.                 // Lo que hace la opción 4
  29.                 printf("Salimos del programa. Adios.");
  30.                 exit(0); // Importante, ya que es la unica forma de abandonar el programa...
  31.             break;
  32.  
  33.             default:
  34.                 printf("Opcion errónea. Introduce una nueva.");
  35.             break;
  36.         }
  37.  
  38.         printf("Pulse cualquier tecla para continuar ... ");
  39.         getch();
  40.        
  41.         // Borramos las pantalla y volvemos al principio.
  42.         clrscr();
  43.     } while (true);
  44.    
  45. }
  46.  
  47.  
  48.  

Saludos.
« última modificación: Viernes 4 de Septiembre de 2009, 19:27 por Nagisa »
   

milnu

  • Nuevo Miembro
  • *
  • Mensajes: 4
    • Ver Perfil
Re: corregido pero falta
« Respuesta #7 en: Viernes 4 de Septiembre de 2009, 18:50 »
0
ya corregi el codigo el corre en borland c++ lo unico que no hace es regresar al menu
me gustaria que lo probaran para ver en donde esta el problema el codigo es el mismo de arriba


gracias de ante mano.....

m0skit0

  • Miembro de PLATA
  • *****
  • Mensajes: 2337
  • Nacionalidad: ma
    • Ver Perfil
    • http://fr33kk0mpu73r.blogspot.com/
Re: corregir codigo
« Respuesta #8 en: Lunes 7 de Septiembre de 2009, 10:45 »
0
Cita de: "milnu"
lo unico que no hace es regresar al menu
Te acaban de responder justo arriba. A ver si lees (vaya falta de respeto  &lt;_&lt; )

AnimaSubtilis

  • Miembro MUY activo
  • ***
  • Mensajes: 172
  • Nacionalidad: co
    • Ver Perfil
Re: corregir codigo
« Respuesta #9 en: Lunes 7 de Septiembre de 2009, 15:25 »
0
Cita de: "milnu"
ya corregi el codigo el corre en borland c++ lo unico que no hace es regresar al menu
me gustaria que lo probaran para ver en donde esta el problema el codigo es el mismo de arriba
gracias de ante mano.....

Oye un poco de esfuerzo no seria malo........ jajajajaja  :P
A menudo unas pocas horas de «prueba y ensayo» podrán ahorrarte minutos de leer manuales.
[size=150]
Dios nos Otorgo el uno y el cero....y con eso creamos un universo....[/size]

[size=109]↑°°°°ÄNÍMÄ §ÛBTÍLͧ°°°°↓[/size]