/*--------------------------------------------------------------------*\
* Proyecto...: TRABAJO FINAL 2do Semestre programacion 1
* Programa...: desa56.c
* Objetivo...: (a) Cumplir con las funcionalidades Solicitadas.
* ...........: (b) Usar funciones
* ...........: (c) Usar Estructuras
* ...........: (d) Usar Condiciones Arreglos y Ciclos
* ...........: (e) Mostar Validaciones y Calculos
* ...........: (f) Mostar Modularidad
* ...........: (g) Implementar Altas bajas y Edicion de 3 tipos de reg.
* ...........: (h) Busquedas para 3 tipos de registros.
* ...........: (i) Implementar Almacenamiento secuencial en Archivos
* Analisis...: Lic. Luis Eduardo Guajardo Guerra
* Programador: Fernanda Areli arelyvargas558@gmail.com
* Empresa....: none
* Fecha......: 13-11-2018
* Modo Ejec..: aplicacion
*--------------------------------------------------------------------*
* Modificacion...:
* Autor..........:
* Objetivo.......:
* Descripcion....:
* ...............:
* ...............:
* ...............:
* ...............:
* ...............:
* ...............:
\*--------------------------------------------------------------------*/
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include <errno.h>
#include <time.h>
#include <sys/types.h>
#include <sys/stat.h>
struct r_empresa {
unsigned int ID_Empresa;
char * Nombre[30];
char * RFC[16];
char * Direccion[40];
char * Telefono[20];
char * NombreContacto[20];
char * CorreoContacto[80];
};
struct r_perfil {
unsigned int ID_Perfil;
char * NomPerfil[30];
char * Descripcion[40];
unsigned int Cantidad;
unsigned int ID_Empresa;
};
struct Fecha {
unsigned int mes, dia, anyo;
};
struct r_empleado {
unsigned int ID_Empleado;
char * Nombre[30];
char Sexo;
char Estatus; /* (Disponible y Asignado). */
unsigned int ID_Perfil;
struct Fecha FechaNac;
char Fumador[2]; /* (Si o No) */
unsigned int ID_Empresa;
};
void AsignarEmpleado();
void AltaEmpresa();
void BajaEmpresa();
void EdicionEmpresa();
void AltaPerfil();
void BajaPerfil();
void EdicionPerfil();
void AltaEmpleado();
void BajaEmpleado();
void EdicionEmpleado();
void BuscaEmpleado();
void BuscaEmpresa();
void BuscaEmpleEmpresa();
void CoreAplication();
void GetFechaHoyFromSist();
int CalculaEdad(unsigned int mes, unsigned int ani);
int MenuGlobal();
int MenuEmpleado();
int MenuBusquedas();
int nMenu =0;
int SubMenu =0;
struct Fecha FechaHoy;
int VivaYo = 1;
int main(int argc, char *argv[]) {
GetFechaHoyFromSist();
CoreAplication();
printf("Programa finalizado \n");
printf("Fernanda Areli\n");
printf("arelyvargas558@gmail.com\n");
}
void CoreAplication() {
int nMenu = 0;
do {
nMenu = MenuGlobal();
switch(nMenu) {
case 1:
{
MenuEmpresa();
}
break;
case 2:
{
MenuPerfiles();
}
break;
case 3:
{
MenuEmpleado();
}
break;
case 4:
{
MenuBusquedas();
}
break;
case 5:
{
AsignarEmpleado();
}
break;
case 6:
{
printf ("Bye Bye\n\n");
}
break;
}
}
while (nMenu != 6);
system ("Pause");
return 0;
}
int MenuGlobal() {
int nSelected = 0;
do {
system("cls");
printf("*****************************************\n");
printf("*****| M E N U P R I N C I P A L |*****\n");
printf("*****************************************\n\n");
printf(" 1.- Empresa \n");
printf(" 2.- Perfiles \n");
printf(" 3.- Empleados \n");
printf(" 4.- Busquedas \n");
printf(" 5.- Asignar empleados \n");
printf(" 6.- Salir del programa \n");
printf ("Ingrese Opcion > ");
scanf ("%d", &nSelected);
printf("\n");
if (( nSelected < 1 ) || ( nSelected > 6)) {
printf("Opcion invalida. Please try again\n\n\n");
}
}
while (( nSelected < 1) || ( nSelected > 6));
return nSelected;
}
int MenuEmpresa() {
int iOpcion = 0;
do {
system("cls");
printf("*****************************************\n");
printf("*****| M E N U E M P R E S A |*****\n");
printf("*****************************************\n\n");
printf(" 1.- Alta Empresa \n");
printf(" 2.- Baja Empresa \n");
printf(" 3.- Edicion Empresa \n");
printf(" \n");
printf(" \n");
printf(" 4.- Menu Principal \n");
printf ("Ingrese Opcion > ");
scanf ("%d", &iOpcion);
printf("\n");
if (( iOpcion < 1 ) || ( iOpcion > 4)) {
printf("Opcion invalida. Please try again\n\n\n");
}
}
while (( iOpcion < 1) || ( iOpcion > 4));
switch(iOpcion) {
case 1:
{
AltaEmpresa();
}
break;
case 2:
{
BajaEmpresa();
}
break;
case 3:
{
EdicionEmpresa();
}
break;
case 4:
{
printf ("Bye Bye\n\n");
}
break;
}
return iOpcion;
}
int MenuPerfiles() {
int iOpcion = 0;
do {
system("cls");
printf("*****************************************\n");
printf("****| M E N U P E R F I L |****\n");
printf("*****************************************\n\n");
printf(" 1.- Alta Perfil \n");
printf(" 2.- Baja Perfil \n");
printf(" 3.- Edición Perfil \n");
printf(" \n");
printf(" \n");
printf(" 4.- Menu Principal \n");
printf ("Ingrese Opcion > ");
scanf ("%d", &iOpcion);
printf("\n");
if (( iOpcion < 1 ) || ( iOpcion > 4)) {
printf("Opcion invalida. Please try again\n\n\n");
}
}
while (( iOpcion < 1) || ( iOpcion > 4));
switch(iOpcion) {
case 1:
{
AltaPerfil();
}
break;
case 2:
{
BajaPerfil();
}
break;
case 3:
{
EdicionPerfil();
}
break;
case 4:
{
printf ("Bye Bye\n\n");
}
break;
}
return iOpcion;
}
int MenuEmpleado() {
int iOpcion = 0;
do {
system("cls");
printf("*****************************************\n");
printf("*****| M E N U E M P L E A D O |*****\n");
printf("*****************************************\n\n");
printf(" 1.- Alta Empleado \n");
printf(" 2.- Baja Empleado \n");
printf(" 3.- Edicion Empleado \n");
printf(" \n");
printf(" \n");
printf(" 4.- Menu Principal \n");
printf ("Ingrese Opcion > ");
scanf ("%d", &iOpcion);
printf("\n");
if (( iOpcion < 1 ) || ( iOpcion > 4)) {
printf("Opcion invalida. Please try again\n\n\n");
}
}
while (( iOpcion < 1) || ( iOpcion > 4));
switch(iOpcion) {
case 1:
{
AltaEmpleado();
}
break;
case 2:
{
BajaEmpleado();
}
break;
case 3:
{
EdicionEmpleado();
}
break;
case 4:
{
printf ("Bye Bye\n\n");
}
break;
}
return iOpcion;
}
int MenuBusquedas() {
int iOpcion = 0;
do {
system("cls");
printf("*****************************************\n");
printf("****| M E N U B U S Q U E D A S |****\n");
printf("*****************************************\n\n");
printf(" 1.- Por Empleado \n");
printf(" 2.- Por Empresa \n");
printf(" 3.- Por Empleado/Empresa \n");
printf(" \n");
printf(" \n");
printf(" 4.- Menu Principal \n");
printf ("Ingrese Opcion > ");
scanf ("%d", &iOpcion);
printf("\n");
if (( iOpcion < 1 ) || ( iOpcion > 4)) {
printf("Opcion invalida. Please try again\n\n\n");
}
}
while (( iOpcion < 1) || ( iOpcion > 4));
switch(iOpcion) {
case 1:
{
BuscaEmpleado();
}
break;
case 2:
{
BuscaEmpresa();
}
break;
case 3:
{
BuscaEmpleEmpresa();
}
break;
case 4:
{
printf ("Bye Bye\n\n");
}
break;
}
return iOpcion;
}
int CalculaEdad(unsigned int mes, unsigned int ani) {
int edad = 0;
edad = ani - FechaHoy.anyo;
return edad;
}
void GetFechaHoyFromSist() {
time_t tiempo = time(0);
struct tm *tlocal = localtime(&tiempo);
printf("La fecha actual es: %i/%i/%i %i:%i:%i hrs\n"
, tlocal->tm_mday, tlocal->tm_mon+1, tlocal->tm_year+1900
, tlocal->tm_hour, tlocal->tm_min, tlocal->tm_sec);
FechaHoy.mes = tlocal->tm_mday;
FechaHoy.dia = tlocal->tm_mon+1;
FechaHoy.anyo= tlocal->tm_year+1900;
printf("SISTEMA: %i/%i/%i \n", FechaHoy.mes, FechaHoy.dia, FechaHoy.anyo );
return;
}
void AsignarEmpleado() {
}
void AltaEmpresa() {
}
void BajaEmpresa() {
}
void EdicionEmpresa() {
}
void AltaPerfil() {
}
void BajaPerfil() {
}
void EdicionPerfil() {
}
void AltaEmpleado() {
}
void BajaEmpleado() {
}
void EdicionEmpleado() {
}
void BuscaEmpleado() {
}
void BuscaEmpresa() {
}
void BuscaEmpleEmpresa() {
}