Está en la página 1de 9

package proyectosegundoparcial;

import java.text.SimpleDateFormat;

import java.time.*;

//import java.time.LocalTime;

import java.util.Calendar;

import java.util.Date;

import java.util.Random;

import java.util.Scanner;

public class PROYECTOSEGUNDOPARCIAL {

static Scanner leer = new Scanner (System.in);

static Random generar = new Random ();

// variables y matrizes globalizadas

static String escrito[][] = new String [100][2];

static double digitos [][] = new double [100][5];

static int i=0, j=0, respuesta=1, codigo=0, selec=0, cont=1, subtotales=0, descuento=0,
grabado=0, grabado2=0, grabado3=0, extento=0, extento2=0, extento3=0, ISV=0, totalpagar=0;

static String name="";

static boolean repetido;

public static void main(String[] args) {

// entrada de datos (procedimiento)

datos ();

}
private static void encabezado(){

int factura=0;

factura=10000+generar.nextInt(89999);

LocalTime hora = LocalTime.now();

Date fecha = new Date(Calendar.getInstance().getTimeInMillis());

SimpleDateFormat formatter = new SimpleDateFormat("dd/MM/yyyy");

//imprecion

System.out.println("\n ************************ ENCABEZADO


*****************************");

System.out.println("Nombre de la empresa:......... trabajo


"+"C.A.I :....................... F53TE-3TG53T-R445H7GE-5TG553");

System.out.println("Direccion de la empresa:...... "+"No. Factura:..................


"+factura);

System.out.println("RNT:.......................... "+"Fecha :.......................


"+formatter.format(fecha));

System.out.println("Telefono:..................... "+"Nombre de usuario :........... ");

System.out.println("Email:........................ tengosueño@gamil.com "+"Nombre del


cliente :.......... ");

System.out.println("Sitio Web:.................... wwwtengosueño.com");

private static void datos (){

//ciclo de repeticion (for)

for (i = 0; i < 100; i++){

cont++;

System.out.println("\n****** Registro numero "+(i+1)+" **********");


//ciclo de repeticion y entrada de datos de la cantidad del producto

do{

System.out.print("Ingrese la cantidad del proucto: ");

//cantidad

digitos[i][0] = leer.nextDouble();

if (digitos[i][0]<=0 ){

System.out.print("\nError! vuelva a ingresar el dato: ");

} while (digitos[i][0]<=0 );

//ciclo de repeticion y entrada de datos de la descripcion del producto

do {

repetido=false;

System.out.println("coloque la descripcion del producto: ");

//decripcion dek ptoducto

name = leer.next();

for (j = 0; j <= (i-1); j++){

if(name.equals(escrito[j][0])){

System.out.println("ya existe el producto ");

repetido=true;

} while (repetido==true);

escrito[i][0] = name;

//ciclo de repeticion y entrada de datos del precio unitario del producto

do{
System.out.print("Ingrese el precio unitario del proucto: ");

//precio unitario

digitos[i][1] = leer.nextDouble();

if (digitos[i][1]<=0 ){

System.out.print("\nError! vuelva a ingresar el dato: ");

} while (digitos[i][1]<=0 );

//ciclo de repeticion y validacion del codigo

do {

repetido=false;

codigo= 10000+generar.nextInt(99999);

for (j = 0; j <= (i-1); j++){

if(codigo==digitos[j][3]){

repetido=true;

} while (repetido==true);

digitos[i][3] = codigo;

//ciclo de repeticion y entrada de datos del producto grabado o extento

System.out.print("Seleccione si el producto es Gravado o Extento ");

System.out.print("\n1. Gravado \n2. Extento ");

System.out.print("\ningrese la opcion: ");

selec = leer.nextInt();

do{

if (selec<1 || selec>2){
System.out.print("\nError! vuelva a ingresar el dato: ");

selec = leer.nextInt();

} while (selec<1 || selec>2);

//calculo de los datos

//total unitario = cantidad * precio unitario

digitos [i][2] = (digitos [i][0] * digitos [i][1]);

if (selec==1){

escrito[i][1]="Gravado";

grabado +=digitos [i][2];

}else{

escrito[i][1]="Extento";

extento += digitos [i][2];

/* for (int a = 0; a<100; a++){

subtotales += digitos [a][2];

}*/

//subtotal

subtotales += digitos [i][2];

if (subtotales<10000){

grabado2 = grabado*1;

extento2 = extento*1;
ISV = (int) (grabado*0.15);

totalpagar = (grabado2 + extento2 + ISV);

}else

if (subtotales<19999){

grabado2 = (int) (grabado*0.05);

extento2 = (int) (extento*0.05);

}else

if (subtotales<39999){

grabado2 = (int) (grabado*0.10);

extento2 = (int) (extento*0.10);

}else

if (subtotales>=40000){

grabado2 = (int) (grabado*0.20);

extento2 = (int) (extento*0.20);

if (subtotales<10000){

ISV = (int) (grabado*0.15);

totalpagar = (grabado2 + extento2 + ISV);

}else

if (subtotales>=10000){

grabado3 = (grabado - grabado2);

extento3 = (extento - extento2);

//ISV

ISV = (int) (grabado3*0.15);


//total a pagar

totalpagar = (grabado3 + extento3 + ISV);

if (i==99){

break;

//ciclo de repeticion y entrada de datos para agregar un nuevo registro

System.out.print("Desea agregar un nuevo regitro? ");

System.out.print("\n1. si \n2. no ");

System.out.print("\ningrese la opcion: ");

respuesta=leer.nextInt();

do {

if (respuesta<1 || respuesta>2){

System.out.print("Error! vuelva a ingresar el valor: ");

respuesta=leer.nextInt();

}while (respuesta<1 || respuesta>2);

if (respuesta==2){

break;

encabezado();

encabezadoo();
}

private static void encabezadoo(){

//imprecion de los datos

System.out.println("\nImprecion de los datos ingresados");

System.out.println("--------------------------------------------------------------------------------------------------------
-");

System.out.println("No. cantidad codigo descripcion precio unitario grabado/extenso


total unitario");

System.out.println("--------------------------------------------------------------------------------------------------------
-");

for (int k = 0; k <= i ; k++){

System.out.printf("%-5d",(k+1));

System.out.printf("%-10.0f",digitos[k][0]);

System.out.printf("%-8.0f",digitos [k][3]);

System.out.printf("%-21S",escrito[k][0]);

System.out.printf("%-19.0f",digitos [k][1]);

System.out.printf("%-20S",escrito[k][1]);

System.out.printf("%-19.0f",digitos [k][2]);

System.out.println("");

System.out.println("--------------------------------------------------------------------------------------------------------
-");

System.out.println("");

for (int y = 0; y < 1; y++){


System.out.println("");

System.out.println("Subtotal........................ "+subtotales);

System.out.println("Descuento....................... "+descuentoo(descuento));

System.out.println("Importe Gravado................. "+grabado3);

System.out.println("Importe Exento.................. "+extento3);

System.out.println("ISV............................. "+ISV);

System.out.println("Total a pagar................... "+totalpagar);

private static int descuentoo (int descuento){

//descuento

if (subtotales<10000){

descuento = subtotales;

}else

if (subtotales<19999){

descuento = (int) (subtotales*0.05);

}else

if (subtotales<39999){

descuento=(int) (subtotales*0.10);

}else

if (subtotales>=40000){

descuento=(int) (subtotales*0.20);

return descuento;

También podría gustarte