Viernes 8 de Noviembre de 2024, 09:48
SoloCodigo
Bienvenido(a),
Visitante
. Por favor,
ingresa
o
regístrate
.
¿Perdiste tu
email de activación?
Inicio
Foros
Chat
Ayuda
Buscar
Ingresar
Registrarse
SoloCodigo
»
Foros
»
Programación General
»
C/C++
»
C++ Builder
(Moderador:
Eternal Idol
) »
PUnteros chequen mi codigo porfas
« anterior
próximo »
Imprimir
Páginas: [
1
]
Autor
Tema: PUnteros chequen mi codigo porfas (Leído 1251 veces)
autenticdec
Nuevo Miembro
Mensajes: 1
PUnteros chequen mi codigo porfas
«
en:
Lunes 24 de Mayo de 2010, 05:19 »
0
BUENO NO ES UN NUEVO TEMA EN SI Soló ESQ TENGO UNA BASE DE DATOS PERO ME MARCA ERROR EN LA PARTE DE REPORTE ME GUSTARIA SABER SI ALGUIEN ME PUEDE HACHAR LA MANO GRACIAS
AQUI LES DEJO EL CODIGO...
#include<stdio.h>
#include<conio.h>
#include<string.h>
const int N=5;
struct fecha{
int dd;
int mm;
int aa;
};
struct datos_emp{
char c[5];
char n[90];
int hw;
float ph;
float s;
char t;
fecha f;
}*pdatos;
datos_emp emp[N];
int i=0, j, k, ci, opcb, flag , d, m, a;
char r, ne[5], cc, ca[5], opcc, cb[90], opcd;
float cf;
void menu(void);
void altas(struct datos_emp* pdatos);
void bajas(struct datos_emp* pdatos);
void consultas(struct datos_emp* pdatos);
void reportes(struct datos_emp* pdatos);
void modificaciones(struct datos_emp* pdatos);
void salir(struct datos_emp* pdatos);
int main() {
menu();
return 0;
}
void menu(void){
char opc;
struct datos_emp* pd;
do{
clrscr();
printf("ASOCIACION AVAYGMT S.A de C.Vnn");
printf("nMenu principal:n");
printf("[A]ltasn");
printf("
ajasn");
printf("[C]onsultasn");
printf("[R]eportesn");
printf("[M]odificacionesn");
printf("
alirn");
printf("nSeleccione su opcion tecleando la letra que corresponda en corchetesn");
fflush(stdin);
scanf("%c",&opc);
switch(opc){
case 65 :
case 97 : altas(pd);
break;
case 66 :
case 98 : bajas(pd);
break;
case 67 :
case 99 : consultas(pd);
break;
case 82 :
case 114: reportes(pd);
break;
case 77 :
case 109: modificaciones(pd);
break;
case 83 :
case 115 :salir(pd);
break;
return;
}
}while(opc!=115 && opc!=83);
getch ();
return;
}
void altas(struct datos_emp* pdatos){
do{
clrscr();
printf("ASOCIACION AVAYGMT S.A de C.Vnn");
printf("Introduzca los datos del empleado %i: nn",i);
printf("Clave del empleado: "); fflush(stdin); gets(emp
.c);
printf("Nombre completo del empleado: "); gets(emp
.n);
printf("Horas de trabajo del empleado: "); scanf("%i",&emp
.hw);
printf("Pago de precio por hora: "); scanf("%f",&emp
.ph);
printf("Tipo de empleado (A, B o C): "); fflush(stdin); scanf("%c",&emp
.t);
printf("Dia de ingreso: "); scanf("%i",&emp
.f.dd);
printf("Mes de ingreso: "); scanf("%i",&emp
.f.mm);
printf("Año de ingreso: "); scanf("%i",&emp
.f.aa);
emp
.s=emp
.hw*emp
.ph;
i++;
printf("Desea dar de alta otro empleado[S/N]?"); fflush(stdin); scanf("%c",&r);
}
while(r!=78 && r!=110);
clrscr();
return;
}
void bajas(struct datos_emp* pdatos){
clrscr();
printf("ASOCIACION AVAYGMT S.A de C.Vnn");
printf("Teclea la clave del empleado que deseas dar de baja: "); fflush(stdin); gets(ne);
flag=0;
k=0;
do{
if(strcmp(ne, emp[k].c)==0){
printf("nnEstas seguro que desea eliminar el registro de ");
printf("Empleado %in",k);
printf("Clave: %sn",emp[k].c);
printf("Nombre: %sn",emp[k].n);
printf("Horas de trabajo: %in",emp[k].hw);
printf("Pago por hora:$ %.2fn",emp[k].ph);
printf("Salario:$ %.2fn",emp[k].s);
printf("Tipo de empleado: %cn",emp[k].t);
printf("Fecha de ingreso: %i/ %i/%inn",emp[k].f.dd,emp[k].f.mm,emp[k].f.aa);
printf("[S/N] ");
scanf("%c",&opcd);
if (opcd!=78 && opcd!=110){
if(k<i-1){
clrscr();
for(j=k;j<i-1;j++){
strcpy(emp[j].c,emp[j+1].c);
strcpy(emp[j].n,emp[j+1].n);
emp[j].hw=emp[j+1].hw;
emp[j].ph=emp[j+1].ph;
emp[j].t=emp[j+1].t;
emp[j].f.dd=emp[j+1].f.dd;
emp[j].f.mm=emp[j+1].f.mm;
emp[j].f.aa=emp[j+1].f.aa;
emp[j].s=emp[j+1].s;
}
}
i=i-1;
printf("Ha eliminado exitosamente el registro... ");
}
flag++;
}
k++;
}while(k<i);
if (flag==0)
printf("No se encontro empleado con esa clave");
getch();
return;
}
void consultas(struct datos_emp* pdatos){
clrscr();
printf("ASOCIACION AVAYGMT S.A de C.Vnn");
printf("Teclea la clave del empleado que deseas consultar: "); fflush(stdin); gets(ne);
flag=0;
k=0;
do{
if(strcmp(ne, emp[k].c)==0){
printf("nnEmpleado %i ",k);
printf("Clave: %sn",emp[k].c);
printf("Nombre: %sn",emp[k].n);
printf("Horas de trabajo: %in",emp[k].hw);
printf("Pago por hora:$ %.2fn",emp[k].ph);
printf("Salario:$ %.2fn",emp[k].s);
printf("Tipo de empleado: %cn",emp[k].t);
printf("Fecha de ingreso: %i/ %i/%in",emp[k].f.dd,emp[k].f.mm,emp[k].f.aa);
flag++;
}
k++;
}while(k<i);
if (flag==0)
printf("No se encontro empleado con esa clave");
getch();
return;
}
void reportes(struct datos_emp* pd){
clrscr();
printf("ASOCIACION AVAYGMT S.A de C.Vnn");
printf("nnLos datos de los empleados son:nn");
printf("nnClave:t Nombre:n",j);
for(j=0;j<i;j++){
printf("%dt %cn",pd->c, pd->n);
}
getch();
return;
}
void modificaciones(struct datos_emp* pdatos){
clrscr();
printf("ASOCIACION AVAYGMT S.A de C.Vnn");
printf("Teclea la clave del empleado que deseas modificar: "); fflush(stdin); gets(ne);
flag=0;
k=0;
do{
if(strcmp(ne, emp[k].c)==0){
printf("nnEstas seguro de modificar a ");
printf("nnEmpleado %in",k);
printf("Clave: %sn",emp[k].c);
printf("Nombre: %sn",emp[k].n);
printf("Horas de trabajo: %in",emp[k].hw);
printf("Pago por hora:$ %.2fn",emp[k].ph);
printf("Salario:$ %.2fn",emp[k].s);
printf("Tipo de empleado: %cn",emp[k].t);
printf("Fecha de ingreso: %i/ %i/%inn",emp[k].f.dd,emp[k].f.mm,emp[k].f.aa);
printf("(s/n) ");
scanf("%c",&opcc);
if (opcc!=78 && opcc!=110){
clrscr();
printf("nnMenu de modificaciones:n");
printf("nQue dato quiere cambiar:");
printf("n[1]Claven");
printf("[2]Nombren");
printf("[3]Horas de trabajon");
printf("[4]Pago de presio por horan");
printf("[5]Tipo de empleadon");
printf("[6]Dia de ingreson");
printf("[7]Mes de ingreson");
printf("[8]Año de ingreson");
printf("nSeleccione su opcion tecleando el numero que corresponda en corchetesn");
scanf("%i",&opcb);
switch (opcb){
case 1:
clrscr();
printf("Introduce la nueva clave: "); fflush(stdin); gets(ca);
strcpy(emp[k].c, ca);
break;
case 2:
clrscr();
printf("Introduce el nuevo nombre: "); fflush(stdin); gets(cb);
strcpy(emp[k].n, cb);
break;
case 3:
clrscr();
printf("Introduce las horas de trabajo: "); scanf("%i",&ci);
emp[k].hw = ci;
break;
case 4:
clrscr();
printf("Presio por hora: "); scanf("%f",&cf);
emp[k].ph = cf;
break;
case 5:
clrscr();
printf("Tipo de empleado: "); fflush(stdin); scanf("%c",&cc);
emp[k].t = cc;
break;
case 6:
clrscr();
printf("Dia: "); scanf("%i",&d);
emp[k].f.dd = d;
break;
case 7:
clrscr();
printf("Mes: "); scanf("%i",&m);
emp[k].f.mm = m;
break;
case 8:
clrscr();
printf("Año: "); scanf("%i",&a);
emp[k].f.aa = a;
break;
}
printf("Su cambio se ha efectuado exitosamente... ");
}
flag++;
}
k++;
}while(k<i);
if (flag==0)
printf("No se encontro empleado con esa clave");
getch();
return;
}
void salir(struct datos_emp* pdatos){
clrscr();
printf("ASOCIACION AVAYGMT S.A de C.Vnn");
return;
}
SALE ESPERO QUE ME PUEDAN AYUDAR
Tweet
Imprimir
Páginas: [
1
]
« anterior
próximo »
SoloCodigo
»
Foros
»
Programación General
»
C/C++
»
C++ Builder
(Moderador:
Eternal Idol
) »
PUnteros chequen mi codigo porfas