misplaced construct

Iniciado por m@o_614, 21 Marzo 2012, 23:21 PM

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

m@o_614

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

visualfree

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...


adastra

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.

m@o_614

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

adastra

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.

Proteus1989

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.