Proyecto final estructura y bases de datos
Proyecto final estructura y bases de datos
Proyecto final estructura y bases de datos
Imagen
Proyecto realizado en C++ 3.0 por el grupo 3CVD
ESPERO DE ANTEMANO QUE ESTA PAGINA SEA DE SU AGRADO CUALQUIER DUDA O COMENTARIO COMENTARLO A:kikogabanakkoa@portalhack.us
PROGRAMA CAJERO ESIME ICE
(Programa que simula y crea estados de cuenta de personas )


ALUMNOS:

MARIO EDUARDO GONZALES CHAVEZ
GAYTAN MAQUEDA JULIO CESAR
GARCIA ZUÑIGA JORGE ARMANDO


MATERIA:

ESTRUCTURAS Y BASES DE DATOS

PROFESORA:

CORTEZ HERNANDEZ LILIA


PROYECTO:

PROGRAMA QUE SIMULA UNA NOMINA













MANUAL TECNICO

OBJETIVO
Observar el funcionamiento con respecto ala nomina de un trabajador y retiro de efectivo

DESARROLLO
Este programa surge con el objetivo de simular y crear un estado de cuenta para los beneficiarios y poder sacar efectivo en un cajero debido a que solicitamos saber nuestro estado de cuenta personal en el trabajo y su funcionamiento con respecto a su clave de estado de cuenta y en el mismo permitir un retiro de acuerdo as u saldo he informar cuanto le resta

CONCEPTOS GENERALES

Es una la lista conformada por el conjunto de trabajadores a los cuales se les va a remunerar por los servicios que éstos le prestan al patrono.
Es el instrumento que permite de una manera ordenada, realizar el pago de sueldos o salarios a los trabajadores, así como proporcionar información contable y estadística, tanto para la empresa como para el ente encargado de regular las relaciones laborales.
La nómina se encuentra fundamentada en partes del contenido del contrato de trabajo, en relación al servicio que deba prestarse y a la remuneración, los cuales se regirán por las siguientes normas:
a. El trabajador estará obligado a desempeñar los servicios que sean compatibles con sus fuerzas, aptitudes, estado o condición, y que sean del mismo género de los que formen el objeto de la actividad a que se dedique el patrono; y
b. La remuneración deberá ser adecuada a la naturaleza y magnitud de los servicios y no podrá ser inferior al salario mínimo ni a la que se le pague por trabajos de igual naturaleza en la región y en la propia empresa.
Estos detalles ayudan a determinar fácilmente la prestación del servicio y remuneración en aquellos contratos de trabajo donde no hubiese estipulación expresa, situación que se presenta frecuentemente.

Diseño de Nóminas
De acuerdo a la magnitud de la empresa, se debe diseñar el modelo de la nómina apropiada, el cual cambiará sustancialmente de una compañía a otra, sujeto a las variaciones de asignaciones, deducciones, acumulativos, determinados por la necesidad de la empresa.

Tipos de Nóminas
1. Según su Presentación:
a. Nómina Manual: Se elabora por cálculos enteramente manuales, usadas en empresas pequeñas o de mediana capacidad. Existen en el mercado, formularios diseñados, por ejemplo: LEC y el sistema Mc-Be.
b. Nómina Computarizada: Se elabora a través de un computador, el cual permite, generalmente por medio de codificaciones, calcular automáticamente, tanto los aportes como los descuentos efectuados en el período a pagar. Para operar este tipo de nómina se debe crear el siguiente tipo de información:
o Formularios de entrada y codificación.
o Reportes del sistema.
o Operación del sistema.
o Archivos del sistema.
o Programas del sistema.
o Diseños de perforación o tabulación.
7. Según la Forma de Pago:
h. Semanal: Para obreros o personal de nomina diaria, cuyo lapso de pago está establecido en ese tiempo.
i. Quincenal:Para empleados cuyo lapso de pago está establecido en ese tiempo.

QUE ES ESTADO DE CUENTA

El estado de cuenta es un documento importante y oficial, a través del cual, te enteras de todas las operaciones que se realizaron con tu tarjeta

El estado de cuenta es el documento oficial que envía el banco al domicilio del usuario, y en él se desglosan todos los consumos, disposiciones, pagos, intereses y comisiones que se efectuaron o se generaron durante un periodo previamente determinado, aunque generalmente se trata de un mes.
Este importante documento cuenta con 10 puntos básicos que el tarjetahabiente debe de tomar en cuenta:
1. Número de cuenta.- Es el número mediante el cual se identifica a tu tarjeta de crédito y por lo general, está formado por 12 o más dígitos.
2. Saldo.- Es el monto que le adeudas a la institución que te emitió la tarjreta.
3. Saldo a corte.- Es el monto de todas las transacciones realizadas mediante el uso de la tarjeta de crédito a la fecha de corte (compras y pagos efectuados).
4. Saldo promedio diario.- Los saldos pendientes de pago de cada día en el periodo de facturación son sumados y el total es dividido por el número de días en el periodo. El cálculo de intereses se efectúa sobre este saldo promedio diario. Si liquidas tu tarjeta de crédito lo antes posible, es decir, ante de la fecha límite de pago y sin efectuar nuevas compras, se reduce el saldo promedio diario y con ello la carga de intereses.
5. Límite de crédito.- Es el monto total de tu línea de crédito.
6. Crédito disponible.- Es la cantidad de dinero de la que aún puedes disponer en tu línea de crédito.
7. Pago mínimo.- es la cantidad o importe mínimo requerido como pago, para conservar al corriente tu línea de crédito.
8. Intereses.- Es la cantidad de dinero que le debes de pagar a la institución bancaria, por hacer uso de la tarjeta de crédito al efectuar compras o disponer de dinero en efectivo.
9. Comisiones.- Es lo que le pagas a la institución bancaria, por concepto de determinados servicios o condiciones preestablecidas, derivadas del uso de la tarjeta de crédito.
10. Fecha límite de pago.- Es la fecha o plazo del que dispones para efectuar el pago de tu deuda, o cuando menos el pago mínimo, al banco emisor de la tarjeta.
11. Registro de operaciones realizadas.- Es el control o anotación sobre todos los movimientos que tuvieron lugar en el periodo que comprende dicho documento, que casi siempre es de un mes. Es el detalle que aparece en tu estado de cuenta y contiene los cargos (compras efectuadas) y abonos (pagos efectuados).
12. Fecha de corte.- Es el último día del periodo que considera el banco para incluir el registro de las operaciones realizadas en tu cuenta.
Si su tarjeta de crédito cuenta con un plástico adicional (tarjeta adicional), en el estado de cuenta se especifican las operaciones realizadas por cada una de las tarjetas. En la mayoría de los casos se les identifica por el correspondiente número de tarjeta.
Si no recibiste a tiempo tu estado de cuenta, es importante que te pongas en contacto cuanto antes con la institución que te otorgó el crédito, de lo contrario, te puedes hacer acreedor a intereses por pago moratorio.


CODIGO FUENTE
PROGRAMA CODIFICADO EN C++ 3.0

#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include<string.h>
#include<ctype.h>


struct colas{
char clave[100],nc[100],nom[100];
double sueldo;
int tiquete;
struct colas *sig;
};
struct colas *read=NULL,*front=NULL;

void menu();
void dentrar();
void boletas();
void pasar();
void calculo();

main()
{


menu();

return 0;
}


void menu()
{
int n,esta,opcc;

for(int i=0;;i++)
{
clrscr();
esta=0;
gotoxy(20,2);
printf("BANCO ESIME ICE ");
gotoxy(10,7);
printf("1. PASAR AL CLIENTE AL BANCO");
gotoxy(10,9);
printf("2. PASAR AL CAJERO ");
gotoxy(10,11);
printf("3. SALIR ");

gotoxy(10,13);
printf(" OPCION: ");
scanf("%d",&n);
switch(n)
{
case 1:dentrar();break;
case 2:pasar();break;
case 3:if(!front)
esta=1;
else
{

gotoxy(20,17);
printf("TODAVIA QUEDAN CLIENTE");
gotoxy(20,17);
printf("1. DESEA CONTINUAR DESPACHANDO QUEDAN CLIENTES");
gotoxy(20,18);
printf("2. CERRAR SOFTWARE");
gotoxy(20,20);
printf("OPCION: ");
scanf("%d",&opcc);
if(opcc==2)
esta=1;
}
break;
}
if(esta)break;
}

}
void dentrar()
{
char s;
int mirar;
struct colas *a,*b;
a=(struct colas*)malloc(sizeof(struct colas));
clrscr();
gotoxy(10,2);
printf("INFORMACION DEL CLIENTE");
gotoxy(10,5);
printf("NOMBRE: ");
gets(a->nom);
gets(a->nom);
gotoxy(10,7);
printf("CLAVE: ");
gets(a->clave);

b=read;
s='S';

do{
mirar=0;
gotoxy(10,9);
printf("NUMERO DE CUENTA: ");
gets(a->nc);
if(read)
{
while(b)
{
if(!(strcmp(b->nc,a->nc)))
{
gotoxy(20,22);
printf("YA EXISTE");
getch();
gotoxy(10,9);
printf(" ");
gotoxy(20,22);
printf(" ");
mirar=1;
break;
}
b=b->sig;
}
}
if(mirar==0)
s='N';
}while(s=='S');


gotoxy(10,11);
printf("SUELDO: ");
scanf("%lf",&a->sueldo);
gotoxy(10,17);
printf("NUMERO DE BOLETA: ");
scanf("%d",&a->tiquete);

if(!read)
{
a->sig=NULL;
read=front=a;
}
else
{
a->sig=read;
read=a;
}
return;
}

void pasar()
{
struct colas *q;
int bol,o;
if(front)
{
for(int i=0;;i++)
{
if(!front)break;
clrscr();
gotoxy(20,2);
printf("CAJERO DE SERVICIO");
gotoxy(10,6);
printf("1. SEGUIR");
gotoxy(10,7);
printf("2. CANCELAR");
gotoxy(10,8);
printf("OPCION: ");
scanf("%d",&o);
if(o==1)
{
gotoxy(10,10);
printf("NUMERO DE BOLETA AL SEGUIR [[ %d ]]",front->tiquete);
gotoxy(10,12);
printf("SU NUMERO DE BOLETA: ");
scanf("%d",&bol);
if(bol==front->tiquete)
calculo();
else
{
q=read;
while(q)
{
if(q->tiquete==bol)
{
gotoxy(20,20);
printf("LO SIENTO POR FAVOR HAGA LA FILA");
gotoxy(20,21);
printf("LA BOLETA QUE SIGUE ES %d",front->tiquete);
getch();
break;
}
q=q->sig;
}
if(!q)
{
gotoxy(20,20);
printf("LO SIENTO NO EXITE EL CLIENTE");
getch();
}
gotoxy(20,20);
printf(" ");

}
}
else
break;
}
}
else
{
gotoxy(10,22);
printf("NO HAY NINGUN CLIENTE");
getch();
gotoxy(10,22);
printf(" ");
}
return;
}

void calculo()
{
struct colas *d;
int opc,apro=0,c;
double re;
char cla[100],con;
clrscr();
gotoxy(20,2);
printf("EJECUTAR PROCESO");
gotoxy(10,6);
printf("SALDO DEL CLIENTE %s ES %.0lf",front->nom,front->sueldo);
gotoxy(10,10);
printf("1. RETIRAR");
gotoxy(10,12);
printf("2. CONSIGNAR");
gotoxy(10,14);
printf("3. NADA");
gotoxy(10,16);
printf("OPCION DESEADA ");
scanf("%d",&opc);
gets(cla);
gotoxy(10,18);
printf("ANTES DE EJECUTAR LA OPERACION POR FAVOR");
c=3;
do{
gotoxy(10,19);
printf("CLAVE: ");
gets(cla);
if(!(strcmp(cla,front->clave)))
apro=1;
else
{
gotoxy(10,21);
printf("%d OPORTUNIDADES",c);
getch();
gotoxy(10,21);
printf(" ");
c--;
gotoxy(10,19);
printf(" ");

}

}while((c>=0)&&(!apro));

if(apro)
{
apro=0;
c=3;
do{
gotoxy(10,20);
printf("NUMERO DE CUENTA: ");
gets(cla);
if(!(strcmp(cla,front->nc)))
apro=1;
else
{
gotoxy(10,21);
printf("%d OPORTUNIDADES",c);
getch();
gotoxy(10,21);
printf(" ");
c--;
gotoxy(10,20);
printf(" ");
}
}while((c>=0)&&(!apro));
}

if(apro)
{
switch(opc)
{
case 1:while(1)
{
clrscr();
gotoxy(5,3);
printf("SALDO DEL CLIENTE %s ES %.0lf",front->nom,front->sueldo);
gotoxy(10,7);
printf("CUANTO DESEA RETIRAR: ");
scanf("%lf",&re);
if(re>front->sueldo)
{
gotoxy(10,20);
printf("NO SE PUEDE POR EL SUELDO QUE ES MENOR");
getch();
gotoxy(10,20);
printf(" ");
gotoxy(10,20);
printf("DESEA CONTINUAR <S><N> ");
con=getche();
if(toupper(con)=='N')break;
}
else
{
front->sueldo=front->sueldo-re;
break;
}
}
gotoxy(1,15);
printf("NUEVO SALDO DEL CLIENTE %s ES %.0lf",front->nom,front->sueldo);
getch();
break;
case 2:while(1)
{
clrscr();
gotoxy(5,3);
printf("SALDO DEL CLIENTE %s ES %.0lf",front->nom,front->sueldo);
gotoxy(10,7);
printf("CUANTO DESEA CONSIGNAR: ");
scanf("%lf",&re);
if(re<0)
{
gotoxy(10,20);
printf("NO EXISTE ESA CANTIDAD");
getch();
gotoxy(10,20);
printf(" ");
gotoxy(10,20);
printf("DESEA CONTINUAR <S><N> ");
con=getche();
if(toupper(con)=='N')break;
}
else
{
front->sueldo=front->sueldo+re;
break;
}
}
gotoxy(1,15);
printf("NUEVO SALDO DEL CLIENTE %s ES %.0lf",front->nom,front->sueldo);
getch();
break;
case 3: clrscr();
gotoxy(10,10);
printf("GRACIAS POR SU ATENCION");
getch();
break;
}
}
else
{
d=read;
while((d->sig!=front)&&(d!=front))
d=d->sig;
if(d==front)
{
gotoxy(5,22);
printf("LO SIENTO ACCESO DENEGADO POR NO CONSUIDIR CON LA INFORMACION");
gotoxy(5,23);
printf("COMO NO HAY MAS CLIENTES NO SE ATIENDE MAS");
getch();
gotoxy(5,22);
printf(" ");
gotoxy(5,23);
printf(" ");
}
else
{
gotoxy(5,22);
printf("LO SIENTO ACCESO DENEGADO POR NO CONSUIDIR CON LA INFORMACION");
gotoxy(5,23);
printf("POR FAVOR EL SIGUIENTE ES CON BOLETA %d",d->tiquete);
getch();
gotoxy(5,22);
printf(" ");
gotoxy(5,23);
printf(" ");
}
}
d=read;
while((d->sig!=front)&&(d!=front))
d=d->sig;
if(d==front)
front=read=NULL;
else
{
front=d;
d=front->sig;
front->sig=NULL;
}
free(d);
return;
}
MANUAL DE USUARIO
¿QUE HACE?
Básicamente consiste en archivar a varios usuarios con salarios mínimos así como también crear un estado de cuenta, con su respectivas claves de seguridad, nombre, salario y numero de boleta.
Permite el funcionamiento de un cajero automático, ya que muestra cuanto crédito esta disponible para el usuario.
Escríbeme
Me interesa tu opinión