martes, 11 de junio de 2013

Modulo 3

Submodulo III : Elaborar sistemas de información mediante un lenguaje de programación visual

Comandos de visual FoxPro

Create: Crea una nueva tabla de Visual FoxPro.


Close data base: cierra una base de datos.


List: Muestra continuamente información de tabla o de entorno.


Cancel: Finaliza la ejecución del archivo de programa actual de Visual FoxPro.


Append: Agrega uno o más registros nuevos al final de una tabla.


Close All: cierra la base de datos activa y todas sus tablas.


Clear: Libera de la memoria el elemento o los elementos especificados.


Store: Almacena datos en una variable, en una matriz o en un elemento de matriz.


Use: Abre una tabla y sus archivos de índice asociados, o una vista SQL.


Index: Crea un archivo de índice para mostrar registros de tabla y tener acceso a los mismos en un orden lógico.


Sort: Ordena los registros de la tabla seleccionada actualmente y envía los registros ordenados a una tabla nueva.


Browse: Abre la ventana Examinar y muestra los registros de la tabla actual o seleccionada.
CREATE (Comando)

Crea una nueva tabla de Visual FoxPro.
Especifica el nombre de la tabla que desea crear.
Presenta el cuadro de diálogo Crear, que le pide el nombre para la tabla que se va a crear.
CLOSE (Comandos)

Cierra todas las bases de datos, tablas e índices abiertos en la sesión de datos actual y en todas las sesiones de datos inactivas y selecciona el área de trabajo 1. CLOSE ALL también cierra los archivos abiertos con las funciones de archivo de bajo nivel FCREATE ( ) y FOPEN ( ). CLOSE ALL no cierra un archivo abierto con SET PRINT.

CLOSE ALL también cierra lo siguiente: 
Diseñador de formularios
Administrador de proyectos
Diseñador de etiquetas
Diseñador de informes
Diseñador de consultas

CLOSE ALL no cierra lo siguiente: 
La ventana Comandos
La ventana Depuración
Ayuda
La ventana Seguimiento

CLOSE DATABASES [ALL]

Cierra la base de datos actual de la sesión de datos actual, así como sus tablas. Si no hay ninguna base de datos activa, se cierran todas las tablas libres, los índices y los archivos de formato abiertos en todas las áreas de trabajo y se selecciona el área de trabajo 1.

ALL

Especifica que, en la sesión de datos actual y en todas las sesiones de datos inactivas, se cierre lo siguiente:
· Todas las bases de datos abiertas y sus tablas.
· Todas las tablas libres abiertas.
· Todos los índices y archivos de formato de todas las áreas de trabajo.
LIST (Comandos) 
El alcance predeterminado de LIST es ALL (todos los registros).
LIST no le avisa después de llenar con información la ventana principal de Microsoft Visual FoxPro o una ventana definida por el usuario.
LIST no muestra los registros marcados para su eliminación cuando SET DELETED esté establecido en ON.

Modify structure: Muestra el Diseñador de tablas, que permite modificar la estructura de una tabla.

ejemplo: DISPLAY STRUCTURE [IN nWorkArea | cTableAlias]
   [TO PRINTER [PROMPT] | TO FILE FileName] [NOCONSOLE]

Modify command: Abre una ventana de edición de texto y le permite modificar o crear un archivo de programa.

ejemplo: MODIFY COMMAND [FileName | ?] [NOEDIT] [NOMENU] [NOWAIT]
   [RANGE nStartCharacter, nEndCharacter] [[WINDOW WindowName1]
   [IN [WINDOW] WindowName2 | IN SCREEN]] [AS nCodePage] [SAME]
   [SAVE]

Delete: Marca los registros que se van a eliminar.

ejemplo: DELETE [Scope] [FOR lExpression1] [WHILE lExpression2]
   [IN nWorkArea | cTableAlias] [NOOPTIMIZE]

Report form: Muestra o imprime un informe bajo el control de un archivo de definición de informe creado con MODIFY REPORT o CREATE REPORT.

zap: Elimina todos los registros de la tabla actual y deja sólo la estructura de la tabla

ejemplo: ZAP [IN nWorkArea | cTableAlias]

pack: Borra definitivamente todos los registros marcados para eliminar de la tabla actual y reduce el tamaño de un archivo memo asociado a la tabla.

ejemplo:PACK [MEMO] [DBF] [Tablename ] [IN nWorkarea | cTableAlias]

locate: Busca secuencialmente en la tabla el primer registro que coincida con la expresión lógica especificada.

ejemplo:LOCATE [FOR lExpression1] [Scope] [WHILE] [NOOPTIMIZE]
   [IN nWorkArea | cTableAlias]

go top:Sitúa el puntero de registro en el primer registro de la tabla.


go bottom: Sitúa el puntero de registro en el último registro de la tabla. 

1.- En este primer ejercicio vamos a escribir un programa que lea tres números y determine el numero mayor el numero central y el numero menor. Debemos asumir que los tres números son siempre distintos. 

Close ALL
Clear
?"PROGRAMADOR: Christian J. Heredia M."
?""
Input "INTRODUCA EL VALOR DE A" TO nA
Input "INTRODUSCA EL VALOR DE B" TO nB
Input "INTRODUSCA EL VALOR DE C" TO nC
IF  nA > nB Then
nMay = nA
nMen = nB
Else
nMay = nB
nMen = nA
Endif
IF nC > nMay Then
nCen = nMay
nMay = nC
Else
IF nC >  nMen   Then
nCen = nC
Else
nCen = nMen
nMen = nC
endif
Endif
? "MAYOR =" + STR(nMay)
? "CENTRAL =" + STR(nCen)
? "MENOR =" + STR(nMen)
Un restaurante ofrece un descuento del 10%para consumos mayores $30.00 y $50.00; un descuento del 20% para consumos mayores de $50.00; para todos los demás no se aplica ningún tipo de descuento. El ejercicio consiste en elaborar un programa  que permite determinar el importe a pagar por consumidor .

close all
clear
?"PROGRAMADOR: Christian j. Heredia M."
?""
do while .T.
input "consumo:" to nconsumo
if type ("nconsumo") = "N"
exit
endif
enddo
do case
case nconsumo >=30 and nconsumo <=50
nimporte = nconsumo * 0.9
case nconsumo >50
nimporte = nconsumo * 0.8
otherwise
nimporte = nconsumo
endcase
? "importe a pagar :" + str(nimporte)
3.- El ejercicio consiste en escribir un programa que lea "n" enteros y calcule la suma total, la media aritmética, el máximo y el mínimo de los datos. 

Close all 
Clear 
?"PROGRAMADOR: Christian J. Heredia M."
?""
input "ingrese cantidad de numeros" to nN 
declare avector (nN) 
for nI = 1 to nN 
input "numero [" + str(nI) +"]?" to avector (nI)
next 
nmax = avector [1]
nmin = avector [1]
nsuma =0 
for nI = 1 to nN 
nsuma = nsuma + avector [nI]
if avector [nI] > nmax then 
nmax = avector(nI)
endif
if avector [nI] > nmin then 
nmin = avector(nI)
endif  
next 
nmedia = nsuma /nN 
?"suma = " + str(nsuma) 
?"media = " + str(nmedia,10,2)
?"maximo = " + str(nmax) 
?"minimo = " + str(nmin)
4.- A continuación vamos a escribir una función que reciba como argumento de entrada una cadena de caracteres y la devuelva en forma inversa, Por ejemplo si ingresa la cadena CORAZÓN deberá retornar NOZAROC.   


close all 
clear 
?"PROGRAMADOR: Christian J. Heredia M."
?""
accept "ingrese una cadena?" to ccadena 
? "cadena invertida =" + cadinv(ccadena)
function cadinv 
parameters ccadena 
nN = len (alltrim(ccadena)) 
declare ctemporal (nN)
for nI = 1 to nN 
ctemporal (nI) = substr(ccadena,nI,1)
next 
cinvertida =""
for nJ= nN TO 1 STEP -1
cinvertida = cinvertida + ctemporal(nJ)
next J 
return cinvertida 


jueves, 18 de abril de 2013

base de datos


Campo:
campos se utiliza a la hora de realizar bases de datos y constituye la unidad fundamental de entrada para el registro de datos. Pueden existir cuantos nombres de campo sean necesarios, entre los más utilizados se encuentran, el campo de texto, numérico, de fecha, de sumario, de hora y de cálculo.

Registro:
registro (también llamado fila o tupla) representa un objeto único de datos implícitamente estructurados en una tabla. En términos simples, una tabla de una base de datos puede imaginarse formada de filas y columnas o campos. Cada fila de una tabla representa un conjunto de datos relacionados, y todas las filas de la misma tabla tienen la misma estructura.
Apuntador:
Los apuntadores son variables que almacenan direcciones de memoria.
En general una variable contiene un valor específico dependiendo de como fue declarada.
Un apuntador contiene la dirección de una variable que contiene un valor específico.
Una variable se refiere directamente a un valor y un apuntador se refiere indirectamente a un valor.
Apuntadores usados en C debido a que a veces son la única manera de expresar un cálculo.
Se puede llegar a obtener un código más compacto y eficiente.
Cuando se emplean sin cuidado pueden crear programas imposibles de entender.
Cuentan con una declaración propia.



Campos Clave
La estructura interna de la tabla está formada por campos. Estos campos determinan el carácter de la
información que almacenan y se identifican mediante un “nombre de campo”. El Tipo de datos
determina el carácter de la información que contiene el campo. No es lo mismo almacenar valores
numéricos con los que posteriormente podremos realizar operaciones matemáticas, que guardar textos
como los nombres de los alumnos.


Normalización de bases de datos

El proceso de normalización de bases de datos consiste en aplicar una serie de reglas a las relaciones obtenidas tras el paso del modelo entidad-relación al modelo relacional.
Las bases de datos relacionales se normalizan para:
  • Evitar la redundancia de los datos.
  • Evitar problemas de actualización de los datos en las tablas.
  • Proteger la integridad de los datos.
En el modelo relacional es frecuente llamar tabla a una relación, aunque para que una tabla sea considerada como una relación tiene que cumplir con algunas restricciones:
  • Cada tabla debe tener su nombre único.
  • No puede haber dos filas iguales. No se permiten los duplicados.
  • Todos los datos en una columna deben ser del mismo tipo.


Lista De Comandos De Visual Fox Pro



ADIR()                             SET PATH
APPEND FROM                        SET PRINTER
APPEND GENERAL                     SET PROCEDURE
APPEND MEMO                        SET RESOURCE
BUILD APP                          SET TEXTMERGE
BUILD EXE                          SET VIEW
BUILD PROJECT                      SORT
CALL                               SYS(6)
COMPILE                            SYS(7)
COPY FILE                          SYS(16)
COPY INDEXES                       SYS(101)
COPY MEMO                          SYS(2000)
COPY STRUCTURE                     SYS(2003)
COPY STRUCTURE EXTENDED            SYS(2004)
COPY TAG                           SYS(2005)
COPY TO                            SYS(2014)
CREATE                             SYS(2019)
CREATE CURSOR                      TYPE
CREATE FORM                        USE
CREATE LABEL
CREATE PROJECT
CREATE QUERY
CREATE REPORT
CREATE SCREEN
CREATE TABLE
CREATE VIEW
DELETE FILE                          
DELETE TAG
DO
ERASE
EXPORT
EXTERNAL
FCREATE()
FILE()
FILER
FOPEN()
IMPORT
INSERT INTO
JOIN
LABEL
LOAD
LOCFILE()
MODIFY COMMAND
MODIFY FILE
MODIFY LABEL
MODIFY MENU
MODIFY PROJECT
MODIFY QUERY
MODIFY REPORT
MODIFY SCREEN
PUTFILE()
RELEASE LIBRARY
RELEASE MODULE
RENAME
REPORT
RESTORE FORM
RESTORE MACROS
RESTORE WINDOW
SAVE MACROS
SAVE TO
SAVE WINDOW
SELECT-SQL
SET ALTERNATE
SET DEFAULT
SET DEVICE
SET FORMAT
SET HELP
SET INDEX
SET LIBRARY

Algunos comandos y su sintaxis

Create y Sintaxis
CREATE TABLE Tipo_trabajo(TipoTrabajo N(3) PRIMARY KEY, Descripcion C(50),Valor N(9,2),Valor_variante L) 

Para cancelar la ejecución de un programa:
o CANCEL

 Para abrir una base de datos:
o OPEN DATABASE Nombre de la base de datos.
 Ejemplo: OPEN DATABASE facturación
 Para Cerrar una Base de Datos:
o CLOSE DATABASES
Database sintaxis
Private Sub Form_Load()
       Dim FoxDataDB As Database
       Dim FoxDataRS As Recordset
       Set FoxDataDB = Workspaces(0).OpenDatabase( _
                       "C:\VFP\Samples\Mainsamp\Data\Tastrade.DBC", _
                       False, False, "FoxPro DBC;")
       Set FoxDataRS = FoxDataDB.OpenRecordset("Employee")
       Set Data1.Recordset = FoxDataRS
   End Sub



jueves, 11 de abril de 2013

Este es mi blog un rincon del  vago claro pues lo administro yo mero jajaj XD no es muy padre pero pues haré lo posible para que se vea presentable y pues mm no soy mamón ni nada de eso no me gusta eso si soy muy sentimental y sensible me gusta tener amigos  y si quieres ser mi amigo chido si no pues no y ya y bueno soy auto depresivo pero eso si me gusta olvidarme de todo yendo a la escuela y sonreír y si alguien es así deveria tomar mi consejo

miércoles, 10 de abril de 2013

Lenguaje C


ejercicios y cada uno con su enunciado correspondiente

Algoritmo que de clave,descripcion de un tres  precios de costo utilidad de tres cosas:


#include <stdio.h>
#include <conio.h>
main()
{
char cve[4];
char desc[8];
float pcosto,ut,pventa;
int x;
for (x=1; x<=3;x++)
{
clrscr();
gotoxy (10,8);printf("Dar una clave:");
       scanf("%s",&cve);
gotoxy (10,10);printf("Dar una descripcion de un producto:");
        scanf("%s",& desc);
gotoxy (10,12);printf("Dar precio de costo:");
        scanf("%f",& pcosto);
gotoxy (10,14);printf("Dar la utilidad:");
        scanf("%f",& ut);
pventa= (pcosto*ut)+pcosto;
gotoxy (10,16);printf("El precio de venta es %f",pventa);
delay(2000);

Algoritmo para sacar el promedio de un alumno y que diga si esta aprobado o reprobado:


#include <stdio.h>
#include <conio.h>
main()
{char nom[25];
float c1,c2,c3,prom;
{
clrscr();printf("Alumno No %d",x);
gotoxy (60,23);printf("programador:");
gotoxy (74,23);printf("canelo");
gotoxy (74,24);printf("fer");
gotoxy (18,1);printf("progama que imprime el promedio del alumno");
gotoxy (20,5);printf("dar un nombre:");
scanf("%s",&nom);
gotoxy (20,7);printf("dar una calificacion:");
scanf("%f",&c1);
gotoxy (20,9);printf("dar una segunda calificacion:");
scanf("%f",&c2);
gotoxy (20,11);printf("dar una tercer calificacion:");
scanf("%f", &c3);
prom=(c1+c2+c3)/3;
if(prom>=6)
{
gotoxy (20,13);printf("%s Esta aprobado", nom);
getch();
}
else
{
gotoxy (20,13); {printf("%s esta reprobado con %f",nom,prom);
getch();
}
}
}




Algoritmo para dar datos de un trabajador y sus percepciones y deducciones en una nomina



#include <stdio.h>
#include <conio.h>
main()
{
char cve [10];
char emp [10];
char pues [10];
float hrsl,pph,comi,ant,tp,isr,imss,td,sn;
int x;
{
clrscr ();
gotoxy (10,5); printf("Dar clave:");
scanf ("%s", &cve);
gotoxy (10,6); printf("Dar el nombre del empleado:");
scanf ("%s", &emp);
gotoxy (10,7); printf("Dar el pueto:");
scanf ("%s", &pues);
gotoxy (10,8); printf("Dar las horas laboradas:");
scanf ("%f", &hrsl);
gotoxy (10,9); printf("Dar el pago por hora:");
scanf("%f", &pph);
gotoxy (10,10); printf("Dar la comision:");
scanf ("%f", &comi);
gotoxy (10,11); printf("Dar el anticipo:");
scanf ("%f", &ant);
tp=(hrsl*pph)+comi;
gotoxy (10,12);printf ("percepciones %4.2f\n",tp);
isr=tp*.04;
gotoxy (10,13);printf ("impuesto sobre la renta %4.2f\n",isr);
imss=tp*.06;
gotoxy (10,14);printf("Seguro social %4.2f\n",imss);
td=isr+imss+ant;
gotoxy (10,15);printf ("deducciones %4.2f\n",td);
sn=tp-td;
gotoxy (10,16);printf ("sueldo neto %4.2f\n",sn);
scanf ("%f", &sn);
gotoxy (10,17);printf ("El empleado %s;",emp,"cuanto recibio de percepciones %f:",tp,"Cuanto pago de deducciones %f:",td, "Sueldo neto %f:",sn);
getch ();
}
}

 formulas de raiz cuadrada,coseno,tangente,seno,cubo ect:

#include <stdio.h>


#include <conio.h>
#include <math.h>
main()
{ float num,raiz,cuadrado,cubo,seno,coseno,tangente;
clrscr();
gotoxy (10,3);printf("Dar un numero:"); scanf("%f",&num);
raiz=sqrt(num);
cuadrado=pow(num,2);
cubo=pow(num,3);
seno=sin(num);
coseno=cos(num);
tangente=tan(num);
gotoxy (10,5);printf("La raiz cuadrada de %4.2f es %4.2f",num,raiz);
gotoxy (10,7);printf("El cuadrado de %4.2f es %4.2f",num,cuadrado);
gotoxy (10,9);printf("El cubo de %4.2f es %4.2f",num,cubo);
gotoxy (10,11);printf("El seno de %4.2f es %4.2f", num,seno);
gotoxy (10,13);printf("El coseno de %4.2f es %4.2f",num,coseno);
gotoxy (10,15);printf("La tangente de %4.2f es %4.2f",num,tangente);
getch();
}


C++
PROGRAMA 1
Algoritmo que multiplique dos numeros cualquiera e imprime el resultado
siempre y cuando sea mayor que 100 en caso contrario no imprimir y solo terminar.#include <conio.h>
#include <stdio.h>

main()
{

 float x,y,z;

 clrscr();

 printf("Dar un numero:");
 scanf("%f",&x);
 printf("Dar otro numero:");
 scanf("%f",&y);
{
 z=x*y;
 if (z=>100)
 printf("\nEl resultado de la multilicacion es: %f",z);
 getch();
}
}

PROGRAMA 2
Algoritmo que lea"n" numeros y que haga la suma de ellos. Debe terminar
cuando un numero sea igual a 0, imprimiendo la suma total de los nuemros.

#include <stdio.h>
#include <conio.h>
main()
{
 int num,suma;
 suma=0;

 do
{
 clrscr();
 printf("Dar un numero:");
 scanf("%d", &num);
 suma=num+suma;
}
 while(num!=0);
 printf("La suma total de los numeros es %d",suma);
 getch();
}
PROGRMA 3
Algoritmo que lea "n"números y que imprima cuantos numero leyó.
Debe terminar cuando un numero se igual a 99.

#include<conio.h>
#include<stdio.h>
main()
{
 int n,suma;
 suma=0;
 do
{
 clrscr();

 printf("\n dar un numero:");
 scanf("%d",&n);
 suma=suma++;
}
 while(n!=99);
 printf("los numeros dados fueron %d", suma);
 getch();

}

PROGRAMA 4
Añgoritmo que lea nombre y edad de una persona, si la edad es menor a 18 años
imprimir "primer grupo"en caso contrario"segundo grupo".

#include <conio.h>
#include <stdio.h>

 main()
{

 char nom[15];
 int e;
 clrscr();
 printf("dar un nombre:");
 scanf("%s",&nom);

 printf("\ndar la edad:");
 scanf("%d,&e);

 if(e<18)
{
 printf("\nLa persona %s pertenece al primer grupo:",nom);
 getch();

}

 else if(e>18)
{
 printf("\nLa persona %s pertenece al segundo grupo:",nom);
}

PROGRAMA 5
Algoritmo que lea un numero y lo imprima 5 veces.
#include <conio.h>
#include <stdio.h>

 main()
{
 int a,x;
 clrscr();
 printf("Dar un numero");
 scanf("%d", &a);

 for(x=1; x<=5; x++)
{
 printf("\nEl numero es %d",a);
 getch();
}
PROGRAMA 6
Agoritmo que lea un numero e imprima los 5 numeros superiores a el.

#include <conio.h>
#include <stdio.h>

main()
{
Int a,b;
Clrscr();
Printf(“dar un numero”);
Scanf(“%d”,&a);
For(c=1; c<=5; c++)
{
 Printf(“El numero siguiente es %d”,a);
Getch();
}
}

PROGRAMA 7
Algoritmo que obtenga el factorial de un númerocualquiera#include <conio.h>
#include <stdio.h>

main()
{

 float num,fac,x=1;
 int r;


 clrscr();
 printf("Introduzca un numero:");
 scanf("%f",&num);

 fac=num;
 for(x=1; x<=num-1; x++)
{
 fac=fac*x;
}
 printf("El factorial del numero es %f",num);
 getch();
}

PROGRAMA 8
Algoritmo que lea nombre y 3 calificaciones de un alumno
Debe imprimir al final nombre y promedio correspondientes.
total de alumnos:50
#include <conio.h>
#include <stdio.h>

main()
{
 float c1,c2,c3,p,cont;
char n[15];
for (cont=1;cont<=50;cont++)
{
clrscr();
printf("dar un nombre:");
scanf("%s",&n);
printf("dar calificación 1:");
scanf("%f",&c1);
printf("dar calificación 2:");
scanf("%f",&c2);
printf("dar calificación 3:");
scanf("%f",&c3);
p=(c1+c2+c3)/3;
printf("el alumno %s tiene un promedio de %f",n,p);
getch();
}
}


PROGRAMA 9
Algoritmo que imprima un reporte de todos los alumnos
que reprueben durane el mes, sabiendo que la calificación mínima es 6.
El proceso debe contemplar nombre,numero de control y 3 calificaciones.
Total de alumnos 50.
#include <conio.h>
#include <stdio.h>

main()
{
 float c1,c2,c3,prom;
 char nom[15],nc[10];
 int cont=1, apro=0,repro=0;
 for(cont=1; cont<=50; cont++)
{
 clrscr();
 printf("Introduzca el nombre del alumno:");
 scanf("%s",&nom);
 printf("Introduzca numero de control del alumno:");
 scanf("%s",&nc);
 printf("dar calificación 1:");
 scanf("%f",&c1);
 printf("dar calificación 2:");
 scanf("%f",&c2);
 printf("dar calificación 3:");
 scanf("%f",&c3);
 prom=(c1+c2+c3)/3;
 printf("el alumno %s con numero de control %s tiene un promedio de %f",nom,nc,prom);
 getch();
 if(prom=>6)
{
 apro=apro+1;
}
 else
 {repro=repro+1;
 }

 printf("\nTotal de aprobados %d:",apro);
 printf("\nTotal de reprobados %d:",repro);
}
}
PROGRAMA 10
 
Algoritmo que lea 2 numeros y si estos son pares los multiplique,
pero si son impares que los sume imprimiendo resultados correspondientes.
Numero de reperticiones para este proceso 50.
#include <conio.h>
#include <stdio.h>

main()
{
int a,b,c,m,s,;
for(c=1;c<=50;c++)
}
clrscr();
printf("dar un numero:");
scanf("%d",&a);
printf("dar otro numero:");
scanf(4%d",&b);
if(a!=b)
{s=a+b;
suma de los numeros es %d",s);
}
else
{
m=a*b;
printf("el resultado de la multiplicaciones%d",m);
}
}


y aqui otros 2 que creo faltaban o no se si esten en el listado anterior pero mm bueno aqui estan

PROGRAMA QUE EL  total de percepciones el total de deducciones y el sueldo neto


#include<stdio.h>
#include<conio.h>
main()
{char cve[7];
 char nom[25];
 char puesto[19];
 int hrs;
 float pagoxhr,com,tp,td,isr,imss,ant,sn,hrsex;
 int x;
 for(x=1;x<=2;x++)
 {
 clrscr();
 printf("Trabajador No. %d",x);
 gotoxy(5,5);
 printf("dar la clave del trabajador(a):");
 scanf("%s",&cve);
 gotoxy(5,7);
 printf("dar el nombre de el trabajador(a):");
 scanf("%s",&nom);
 gotoxy(5,9);
 printf("dar el puesto:");
 scanf("%s",&puesto);
 gotoxy(5,11);
 printf("dar las horas laboradas:");
 scanf("%d",&hrs);
 gotoxy(5,13);
 printf("dar el pago por hora:");
 scanf("%f",&pagoxhr);
 gotoxy(5,15);
 printf("dar la comision:");
 scanf("%f",&com);
 gotoxy(5,17);
 if(hrs>40)
   { hrsex=hrs-40;
    hrsex=hrsex*(2*pagoxhr);
    hrs=hrs*pagoxhr;
    tp=(40*pagoxhr)+hrsex+com;
    }
 else
  {
  tp=hrs*pagoxhr+com;}
  isr=tp*0.04;
  imss=tp*0.06;
  gotoxy(5,19);
  printf("dar el anticipo de el trabajador(a):");
  scanf("%f",&ant);
  gotoxy(5,21);
  td=isr+imss+ant;
  sn=tp-td;
  gotoxy(5,23);
  printf("%s tiene percepciones de %4.2f,\n deduccciones de %4.2f y sueldo neto de %4.2f",nom,tp,td,sn );
  getch();
  }
  }
HAORA CON 3 EMPLEADOS


#include<stdio.h>
#include<conio.h>
main()
{char cve[6], puesto[15], empleado[25];
float hrs,pagoxhr,com,tp,td,isr,imss,ant,sn;
int x;
for (x=1; x <=3; x++)
{
clrscr();
gotoxy(5,5); printf("dar la clave del trabajador:");
scanf("%s",& cve);
gotoxy(5,7); printf("dar nombre:");
scanf("%s",&empleado);
gotoxy(5,9); printf("dar el puesto:");
scanf("%s",&puesto);
gotoxy(5,11);printf("dar las horas laboradas:");
scanf("%f",&hrs);
gotoxy(5,13); printf("dar el pago por hora:");
scanf("%f",&pagoxhr);
gotoxy(5,15),printf("dar la comision:");
scanf("%f",&com);
tp=hrs*pagoxhr+com;
gotoxy(5,17); printf("%s tiene percepciones de: %f",empleado,tp);
isr=tp*.04;
imss=tp*.06;
gotoxy(5,19); printf("dar el anticipo del trabajador:");
scanf("%f",&ant);
td=isr+imss+ant;
sn=tp-td;
gotoxy(5,21);printf("tiene deducciones de %f y su sueldo neto es de %f",td,sn);
getch();
}