Test Foro de elhacker.net SMF 2.1

Programación => Programación General => Java => Mensaje iniciado por: m@o_614 en 21 Marzo 2012, 23:21 PM

Título: misplaced construct
Publicado por: m@o_614 en 21 Marzo 2012, 23:21 PM
Tengo el siguiente codigo
y me marca error en la linea del main me dice syntax error on tokens misplaced construct, pero ya lo revise y no falta ni sobra ninguna llave {

Código (java) [Seleccionar]
public class Impuestos {

public static void main(String[] args){
// constantes
final double IVA =16.0;
final double POR_RET_IVA=10.0;
final double POR_RET_ISR=10.0;
final double POR_ISR=11.0;
final int MES_CAPTURA=1;
final int CAPTURA_ING=2;
final int CAPTURA_GAS=3;
final int L_ING_ANUAL=4;
final int L_GASTO_ANUAL=5;
final int CALCULO_IMP=6;
final int MESES=12;
final int SALIR=7;

//variables para entrada de datos//
    double gasto_iva,iva_pag,isr_pag,gan_bruta,
          gan_neta,isr,iva,subtotal,ret_isr,ret_iva,total,ingreso_tot=0,
          gasto_tot=0,ingreso,gasto;

    //variables de uso interno del programa//
    int i,opcion,indice,mes_elegido=1;
    boolean ver_menu;
    char *meses[MESES]={"Enero","Febrero","Marzo","Abril","Mayo","Junio",
                        "Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre"};
    //Arreglo para ingresos y gastos//
    double gastos[];
    double ingresos[];
    for(i=0;i<MESES;i++)
    {
        gastos[i]=0;
        ingresos[i]=0;
    }
    ver_menu=1;
    do
    {
        System.out.println("CALCULO DE IMPUESTOS ANUAL");
       
        System.out.println("Menu principal:");
        System.out.println("1. Establecer mes para la captura (mes actual es "+meses[mes_elegido-1]);
        System.out.println("2. Captura de ingresos");
        System.out.println("3. Captura de gastos");
        System.out.println("4. Mostrar lista de ingresos anual");
        System.out.println("5. Mostrar lista de gastos anual");
        System.out.println("6. Calculo de impuestos anual");
        System.out.println("7. Salir");
       
        System.out.println("Opcion: ");
        opcion=leeInt.ScanF();
        System.out.println(" "+opcion);
        switch(opcion)
        {
        case MES_CAPTURA:
           System.out.println("Establecer mes para captura");
           for(i=0,indice=0;i<MESES;i++,indice++)
              printf(" "+(indice+1)+") "+meses[i]);
              System.out.println("Elige el mes (1 a 12):");
              mes_elegido=leeInt.ScanF();
              System.out.println(" "+mes_elegido);
           if(mes_elegido>MESES)
              System.out.println("Mes no valido!");
           else
              System.out.println("Se ha establecido el mes de captura en "+meses[mes_elegido-1]);
           break;
        case CAPTURA_ING:
        System.out.println("Captura de ingresos");
            System.out.println("Dame el ingreso del mes de "+meses[mes_elegido-1]+": ");
            ingreso=leeint.ScanF();
            System.out.println(" "+ingreso);
            ingresos[mes_elegido-1]=ingreso;
            break;
        case CAPTURA_GAS:
        System.out.println("Captura de gastos");
                System.out.println("Dame el gasto del mes de "+meses[mes_elegido-1]+": ");
                gasto=leeint.ScanF();
                System.out.println(" "+gasto);
                gastos[mes_elegido-1]=gasto;
                break;
        case L_ING_ANUAL:
        System.out.println("Mostrar lista de ingresos anual");
            for(i=0;i<MESES;i++)
               System.out.println(" "+meses[i]+" = "+ingresos[i]);
               break;
        case L_GASTO_ANUAL:
        System.out.println("Mostrar lista de gastos anual");
            for(i=0;i<MESES;i++)
               System.out.println(" "+meses[i]+" = "+gastos[i]);
            break;
        case CALCULO_IMP:
        for(i=0;i<MESES;i++)
                {
                    ingreso_tot+=ingresos[i];
                    gasto_tot+=gastos[i];
                }
                iva=(ingreso_tot*IVA)/100;
                subtotal=ingreso_tot+iva;
                ret_isr=(ingreso_tot*POR_RET_ISR)/100;
                ret_iva=(ingreso_tot*POR_RET_IVA)/100;
                total=subtotal-(ret_isr+ret_iva);
                gan_bruta=(ingreso_tot-gasto_tot);
                isr=(gan_bruta*POR_ISR)/100;
                gan_neta=(gan_bruta-isr);
                isr_pag=(isr-ret_isr);
                gasto_iva=(gasto_tot*IVA)/100;
                iva_pag=(iva-gasto_iva-ret_iva);
                System.out.println("CALCULO DE IMPUESTOS");
               
                System.out.println("***Tabla de Recibo de Honorarios***");
                System.out.println("Ingresos\t\t"+ingreso_tot);
                System.out.println("(+) IVA\t\t\t"+iva);
                System.out.println("(=) Subtotal\t\t"+subtotal);
                System.out.println("(-) Retención ISR\t"+ret_isr);
                System.out.println("(-) Retención IVA\t"+ret_iva);                 printf("(=) Total\t\t%.2f\n",total);
                System.out.println("***Tabla Ganancias***");
                System.out.println("Ingresos\t\t"+ingreso_tot);
                System.out.println("(-) Gastos\t\t"+gasto_tot);
                System.out.println("(=) Ganancia Bruta\t"+gan_bruta);
                System.out.println("(-) ISR\t\t\t"+isr);
                System.out.println("(=) Ganancia Neta\t"+gan_neta);
                System.out.println("***Tabla ISR***");
                System.out.println("ISR\t\t\t"+isr);
                System.out.println("(-) ISR Retenido\t"+ret_isr);
                System.out.println("(=) ISR a Pagar\t\t"+isr_pag);
                System.out.println("***Tabla IVA***");
                System.out.println("IVA\t\t\t"+iva);
                System.out.println("(-) Gastos IVA\t\t"+gasto_iva);
                System.out.println("(-) Retención IVA\t"+ret_iva);
                System.out.println("(=) IVA a Pagar\t\t"+iva_pag);
                break;
        case SALIR:
        ver_menu=0;
            break;
        default: System.out.println("Opcion no valida!");
       }
    }while(ver_menu);
}

}


de antemano gracias
Título: Re: misplaced construct
Publicado por: visualfree en 22 Marzo 2012, 06:55 AM
Joder como se nota que no tienes idea de que es Orientacion a Objetos....
codigo asquerosamente programado y estructurado ... veo punteros y tambien veo printf dando
vueltas me parece mucho que te quedaste pegado con c++  :o ....

Saludos...

Título: Re: misplaced construct
Publicado por: adastra en 22 Marzo 2012, 09:36 AM
char *meses[MESES]={"Enero","Febrero","Marzo","Abril","Mayo","Junio",
                        "Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre"};


Esta linea es invalida. Sustituir por:


String[] meses=new String[]{"Enero","Febrero","Marzo","Abril","Mayo","Junio",
                        "Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre"};


En java no puedes manipular punteros.
Título: Re: misplaced construct
Publicado por: m@o_614 en 23 Marzo 2012, 00:47 AM
ya le hice las modificaciones a mi asqueroso codigo y me aparecen errores en donde tengo declaradas leeInt o leeDouble, me dice...leeInt cannot be resolved
Código (java) [Seleccionar]
public class Impuestos {

public static void main(String[] args) {
//constantes
final double IVA=16.0;
final double POR_RET_IVA=10.0;
final double POR_RET_ISR=10.0;
final double POR_ISR=11.0;
final int MES_CAPTURA=1;
final int CAPTURA_ING=2;
final int CAPTURA_GAS=3;
final int L_ING_ANUAL=4;
final int L_GASTO_ANUAL=5;
final int CALCULO_IMP=6;
final int MESES=12;
final int SALIR=7;

//variables para entrada de datos
    double gasto_iva,iva_pag,isr_pag,gan_bruta,
        gan_neta,isr,iva,subtotal,ret_isr,ret_iva,total,ingreso_tot=0,gasto_tot=0,ingreso,gasto;

        //variables de uso interno del programa
        int i,opcion,indice,mes_elegido=1;
        boolean ver_menu;
        String[] meses=new String[]{"Enero","Febrero","Marzo","Abril","Mayo","Junio",
                "Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre"};
       //Arreglo para ingresos y gastos//
       double gastos[];
       double ingresos[];
       for(i=0;i<MESES;i++)
       {
           gastos[i]=0;
           ingresos[i]=0;
       }
       ver_menu=true;
       do
       {
           System.out.println("CALCULO DE IMPUESTOS ANUAL");
           
           System.out.println("Menu principal:");
           System.out.println("1. Establecer mes para la captura (mes actual es %s)"+meses[mes_elegido-1]);
           System.out.println("2. Captura de ingresos");
           System.out.println("3. Captura de gastos");
           System.out.println("4. Mostrar lista de ingresos anual");
           System.out.println("5. Mostrar lista de gastos anual");
           System.out.println("6. Calculo de impuestos anual");
           System.out.println("7. Salir");
           
           System.out.println("Opcion: ");
           opcion=leeInt.ScanF();
           System.out.println(" "+opcion);
           switch(opcion)
           {
           case MES_CAPTURA:
              System.out.println("Establecer mes para captura");
              for(i=0,indice=0;i<MESES;i++,indice++)
              System.out.println(" "+(indice+1)+") "+meses[i]);
              System.out.println("Elige el mes (1 a 12):");
              mes_elegido=leeInt.ScanF();
              System.out.println(" "+mes_elegido);
              if(mes_elegido>MESES)
                 System.out.println("Mes no valido!");
              else
                 System.out.println("Se ha establecido el mes de captura en "+meses[mes_elegido-1]);
              break;
           case CAPTURA_ING:
              System.out.println("Captura de ingresos");
              System.out.println("Dame el ingreso del mes de "+meses[mes_elegido-1]+": ");
              ingreso=leeDouble.ScanF();
              System.out.println(" "+ingreso);
              ingresos[mes_elegido-1]=ingreso;
              break;
           case CAPTURA_GAS:
              System.out.println("Captura de gastos");
              System.out.println("Dame el gasto del mes de "+meses[mes_elegido-1]+": ");
              gasto=leeDouble.ScanF();
              System.out.println(" "+gasto);
              gastos[mes_elegido-1]=gasto;
              break;
           case L_ING_ANUAL:
              System.out.println("Mostrar lista de ingresos anual");
              for(i=0;i<MESES;i++)
                 System.out.println(" "+meses[i]+" = "+ingresos[i]);
              break;
           case L_GASTO_ANUAL:
              System.out.println("Mostrar lista de gastos anual");
              for(i=0;i<MESES;i++)
                 System.out.println(" "+meses[i]+" = "+gastos[i]);
              break;
           case CALCULO_IMP:
              for(i=0;i<MESES;i++)
              {
                  ingreso_tot+=ingresos[i];
                  gasto_tot+=gastos[i];
              }
              iva=(ingreso_tot*IVA)/100;
              subtotal=ingreso_tot+iva;
              ret_isr=(ingreso_tot*POR_RET_ISR)/100;
              ret_iva=(ingreso_tot*POR_RET_IVA)/100;
              total=subtotal-(ret_isr+ret_iva);
              gan_bruta=(ingreso_tot-gasto_tot);
              isr=(gan_bruta*POR_ISR)/100;
              gan_neta=(gan_bruta-isr);
              isr_pag=(isr-ret_isr);
              gasto_iva=(gasto_tot*IVA)/100;
              iva_pag=(iva-gasto_iva-ret_iva);
              System.out.println("CALCULO DE IMPUESTOS");
              System.out.println("***Tabla de Recibo de Honorarios***");
              System.out.println("Ingresos\t\t"+ingreso_tot);
              System.out.println("(+) IVA\t\t\t"+iva);
              System.out.println("(=) Subtotal\t\t"+subtotal);
              System.out.println("(-) Retención ISR\t"+ret_isr);
              System.out.println("(-) Retención IVA\t"+ret_iva);
              System.out.println("(=) Total\t\t"+total);
              System.out.println("***Tabla Ganancias***");
              System.out.println("Ingresos\t\t"+ingreso_tot);
              System.out.println("(-) Gastos\t\t"+gasto_tot);
              System.out.println("(=) Ganancia Bruta\t"+gan_bruta);
              System.out.println("(-) ISR\t\t\t"+isr);
              System.out.println("(=) Ganancia Neta\t"+gan_neta);
              System.out.println("***Tabla ISR***");
              System.out.println("ISR\t\t\t"+isr);
              System.out.println("(-) ISR Retenido\t"+ret_isr);
              System.out.println("(=) ISR a Pagar\t\t"+isr_pag);
              System.out.println("***Tabla IVA***");
              System.out.println("IVA\t\t\t"+iva);
              System.out.println("(-) Gastos IVA\t\t"+gasto_iva);
              System.out.println("(-) Retención IVA\t"+ret_iva);
              System.out.println("(=) IVA a Pagar\t\t"+iva_pag);
              break;
           case SALIR:
              ver_menu=false;
              break;
           default: System.out.println("Opcion no valida!");
          }
      }while(ver_menu);
}
}

no se si se deba a que tengo adjuntada ScanF en el mismo package que Impuestos
Título: Re: misplaced construct
Publicado por: adastra en 23 Marzo 2012, 09:15 AM
Hombre, el error es bastante claro, has intentado resolverlo antes de preguntar? las variables leeInt y leeDouble no estan declaradas en ninguna parte en la clase.
El foro esta para hacer preguntas puntuales, no para resolver tareas.
Título: Re: misplaced construct
Publicado por: Proteus1989 en 23 Marzo 2012, 11:53 AM
Empieza con algo más sencillo. Buscate problemitas resueltos en java que te ayuden a entender mejor la metodologia de programacion orientada a objetos.

Lo digo como consejo. Ya tu elige lo que mejor veas oportuno.