Está en la página 1de 13

Se puede dar un nombre nuevo a cualquier tipo de datos mediante TYPEDEF: TYPEDEF DECLARATION; donde

‘’declaration’’ tiene la forma de una declaración de variable sólo que se está definiendo un tipo de datos.

PARA VARIABLES: SINTAXIS: TYPEDEF STRUCT

‘’VARIABLES>

} ‘’NOMBRE DEL TIPO DE DATO

CREANDO ESTRUCTURAS

1.- Crear una estructura que permita almacenar de 1 trabajador: código del trabajador
horas trabajadas al día
valor de las horas
días al mes trabajados
sueldo mensual
#include<stdio.h>
#include<conio.h>
typedef struct
{
Int codigo;
float hora, valor, sueldo, días;
} trabajador

2.- Crear una estructura que permita almacenar de un conductor: código del conductor
cantidad de multas
puntos de la licencia
año de caducidad
#include<stdio.h>
#include<conio.h>
typedef struct
{
Int codigo;
Int codigo, multa, puntos, años;
} conductor

3.- Crear una estructura que permita almacenar de 1 salón de clases: código del salón
cantidad máxima de alumnos
cantidad de materias asigandas al salón
#include<stdio.h>
#include<conio.h>
typedef struct
{
Int codigo;
Int codigo, cant_:alum, CM;
} salon
4.- Crear una estructura que permita almacenar de un contacto: código del contacto
nombre
apellido
edad
dirección
teléfono
#include<stdio.h>
#include<conio.h>
typedef struct
{
Int codigo, edad;
char nom [15];
char ape [15];
char dire [25]
char tel [15]
} contacto;

EJERCICIO 18 : INGRESAR CODIGO, NOTA 1, NOTA 2, Y CALCULAR EL PROMEDIO DE UN ALUMNO

#include<stdio.h>
#include<conio.h>
typedef struct
{
int codigo;
float nota1, nota2, promedio;
}alumno;
alumno estudiante;
void main()
{
do{
printf("ingrese codigo:");scanf("%d",&estudiante.codigo);
}while(estudiante.codigo<0||estudiante.codigo>100);
do{
printf("ingrese nota1:");scanf("%f",&estudiante.nota1);
}while(estudiante.nota1<0||estudiante.nota1>10);
do{
printf("ingrese nota2:");scanf("%f",&estudiante.nota2);
}while(estudiante.nota2<0||estudiante.nota2>10);
estudiante.promedio=(estudiante.nota1+estudiante.nota2)/2;
printf("el promedio es:%2.2f",estudiante.promedio);
getch();
}
EJERCICIO 19 : INGRESAR EL CODIGO, NOTA 1, NOTA 2, Y CALCULAR EL PROMEDIO DE 5 ALUMNOS.

#include<stdio.h>
#include<conio.h>
typedef struct
{
int codigo;
float nota1, nota2, promedio;
}alumno;
alumno estudiante[5];
int x;
void main()
{
for (x=0; x<5; x=x+1);
{
do{
printf("ingrese codigo alumno%d:",x+1);scanf("%d",&estudiante[x].codigo);
}while(estudiante[x].codigo<0||estudiante[x].codigo>100);
do{
printf("ingrese nota1 alumno%d:",x+1);scanf("%f",&estudiante[x].nota1);
}while(estudiante[x].nota1<0||estudiante[x].nota1>10);
do{
printf("ingrese nota2 alumno%d:",x+1);scanf("%f",&estudiante[x].nota2);
}while(estudiante[x].nota2<0||estudiante[x].nota2>10);
estudiante[x].promedio=(estudiante[x].nota1+estudiante[x].nota2)/2;
printf("el promedio del alumno %d es %f",x+1,estudiante[x].promedio);
}
getch();
}
EJERCICIO 20 :
PROMEDIO DE SUELDO DE DOS TRABAJADORES
c=codigo, h=horas trabajadas, v=valor de hora, d=dias trabajados, s=sueldo, p=promedio

#include<stdio.h>
#include<conio.h>
typedef struct
{
int c;
float h,v,s,d;
}trabajador;
trabajador personas[2];
int x;
float p,t;
void main()
{
t=0;
for (x=0; x<2; x=x+1)
{
do{
printf("ingrese el codigo %d:",x+1);
scanf("%d",&personas[x].c);
}while (personas[x].c<0||personas[x].c>100);
do{
printf("ingrese horas trabajadas %d:",x+1);
scanf("%f",&personas[x].h);
}while (personas[x].h<1||personas[x].h>24);
do{
printf("ingrese el valor de horas %d:",x+1);
scanf("%f",&personas[x].v);
}while (personas[x].v<1||personas[x].v>1000);
do{
printf("ingrese dias del mes trabajados %d:",x+1);
scanf("%f",&personas[x].d);
}while (personas[x].d<1||personas[x].d>31);
personas[x].s=(personas[x].h*personas[x].v*personas[x].d);
printf("el sueldo mensual es:%2.2f\n",personas[x].s);
t=(t+personas[x].s);
}
p=t/2;
printf("el promedio es:%2.2f",p);
getch();
}
EJERCICIO 21 :
PROMEDIO DE SUELDO DE CINCO TRABAJADORES USANDO TOPE
c=codigo, h=horas trabajadas, v=valor de hora, d=dias trabajados, s=sueldo, p=promedio

#include<conio.h>
typedef struct
{
int c;
float h,v,s,d;
}trabajador;
trabajador personas[5];
int x,tope,vb;
float p,t;
void main()
{
tope=5;
t=0;

for (x=0; x<5; x=x+1)


{
do{
printf("ingrese el codigo %d:",x+1);
scanf("%d",&personas[x].c);
}while (personas[x].c<0||personas[x].c>100);
do{
printf("ingrese horas trabajadas %d:",x+1);
scanf("%f",&personas[x].h);
}while (personas[x].h<1||personas[x].h>24);
do{
printf("ingrese el valor de horas %d:",x+1);
scanf("%f",&personas[x].v);
}while (personas[x].v<1||personas[x].v>1000);
do{
printf("ingrese dias del mes trabajados %d:",x+1);
scanf("%f",&personas[x].d);
}while (personas[x].d<1||personas[x].d>31); personas[x].s=(personas[x].h*personas[x].v*personas[x].d);
printf("el sueldo mensual es:%2.2f\n",personas[x].s);
t=(t+personas[x].s);
}
p=t/5;
printf("el promedio es:%2.2f",p);
getch();
}
EJERCICIO 22 : BÚSQUEDA DE VALORES: BUSCAR POR SUELDO Y MOSTRAR CODIGO
#include<stdio.h>
#include<conio.h>
typedef struct
{
int c;
float h,v,d,s;
}trabajador;
trabajador empleado[5];
int x,tope,vb,bandera,y;
float sb;
void main()
{
tope=3;
for (x=0; x<tope; x=x+1)
{
empleado[x].c=x+1;
do{
printf("ingrese horas trabajadas empleado%d:",x+1);scanf("%f",&empleado[x].h);
}while (empleado[x].h<1||empleado[x].h>20);
do{
printf("ingrese valor de horasl empleado%d:",x+1);scanf("%f",&empleado[x].v);
}while (empleado[x].v<1||empleado[x].v>20);
do{
printf("ingrese dias trabajados empleado%d:",x+1);scanf("%f",&empleado[x].d);
}while (empleado[x].d<1||empleado[x].d>20);
empleado[x].s=empleado[x] .h*empleado[x].v*empleado[x].d;
printf("sueldo empleado%d:%2.2f\n",x+1,empleado[x].s);
}
printf("\n\nproceso de busqueda\n\n");
bandera=0;
do{
printf("ingrese sueldo a buscar:");
scanf("%f",&sb);
}while (sb<1||sb>3000);
for (x=0; x<tope; x=x+1)
{
if (sb==empleado[x].s)
{
bandera=1;
y=x;
}
}
if (bandera==1)
{
printf("sueldo %2.2f corresponde a empleado:%d",sb,empleado[y].c);
}
else
{
printf("sueldo %2.2f no encontrado",sb);
}
getch();
EJERCICIO 23 : BÚSQUEDA DE VALORES: BÚSQUEDA DE CÓDIGO Y BÚSQUEDA DE SUELDO
#include<stdio.h>
#include<conio.h>
typedef struct
{
int c;
float h,v,d,s;
}trabajador;
trabajador empleado[5];
int x,tope,vb;
float sb;
void main()
{
tope=2;
for (x=0; x<tope; x=x+1)
{
empleado[x].c=x+1;
do{
printf("ingrese horas trabajadas empleado%d:",x+1);scanf("%f",&empleado[x].h);
}while (empleado[x].h<1||empleado[x].h>20);
do{
printf("ingrese valor de horasl empleado%d:",x+1);scanf("%f",&empleado[x].v);
}while (empleado[x].v<1||empleado[x].v>20);
do{
printf("ingrese dias trabajados empleado%d:",x+1);scanf("%f",&empleado[x].d);
}while (empleado[x].d<1||empleado[x].d>20);
empleado[x].s=empleado[x] .h*empleado[x].v*empleado[x].d;
printf("sueldo empleado%d:%2.2f\n",x+1,empleado[x].s);
}
printf("\n\nproceso de busqueda\n\n");
do{
printf("ingrese codigo a buscar:");
scanf("%d",&vb);
}while (vb<1||vb>tope);
for (x=0; x<tope; x=x+1)
{
if (vb==empleado[x].c)
{
printf("empleado codigo %d tiene %2.2f\n",vb,empleado[x].s);
}
}
do{
printf("ingrese el sueldo a buscar:");
scanf("%f",&sb);
}while (sb<0||sb>3000);
for (x=0; x<tope; x=x+1)
{
if (sb==empleado[x].s)
{
printf("el empleado con sueldo %2.2f es: %d",sb,empleado[x].c);
}
}
getch();
}
EJERCICIO 24 : REEMPLAZO (CODIFICACIÓN BANDERA CON TOPE 5) (CODIFICACION DEL PROFESOR)

#include <stdio.h>
#include <conio.h>
typedef struct
{
int cod;
float ht, vh, dt, sm;
} trabajador;
trabajador empleado[5];
int x, y, tope, bandera, vb;
float r;
int main()
{
/* proceso de ingreso */
tope=5;
for(x=0;x<tope;x=x+1)
{
empleado[x].cod=x+1;
do{
printf("Ingrese horas trabajadas de empleado %d: ",x+1);
scanf("%f",&empleado[x].ht);
}while(empleado[x].ht<1 || empleado[x].ht>20);
do{
printf("Ingrese valor de hora de empleado %d: ",x+1);
scanf("%f",&empleado[x].vh);
}while(empleado[x].vh<1 || empleado[x].vh>20);
do{
printf("Ingrese dias trabajados de empleado %d: ",x+1);
scanf("%f",&empleado[x].dt);
}while(empleado[x].dt<1 || empleado[x].dt>20);
empleado[x].sm=empleado[x].ht*empleado[x].vh*empleado[x].dt;
printf("Sueldo de empleado %d: %2.2f\n\n\n",x+1,empleado[x].sm);
}
/* proceso de reemplazo */
bandera=0;
do{
printf("Ingrese codigo de empleado a buscar para reemplazar valor: ");
scanf("%d",&vb);
}while(vb<1 || vb>tope);
for(x=0;x<tope;x=x+1)
{
if(vb==empleado[x].cod)
{
bandera=1;
y=x;
do{
printf("Ingrese el nuevo valor por hora: ");
scanf("%f",&empleado[x].vh);
}while(empleado[x].vh<1 || empleado[x].vh>20);
}
}
if(bandera==1)
{
printf("Valor por hora de empleado %d reemplazado con exito... presione cualquier tecla para mostrar nuevos
valores.\n\n\n",empleado[y].cod);
getch();
for(x=0;x<tope;x=x+1)
{
empleado[x].sm=empleado[x].ht*empleado[x].vh*empleado[x].dt;
printf("Empleado %d:\n%2.2f horas a $%2.2f durante %2.2f dias\ntiene $%2.2f de sueldo
mensual\n\n",empleado[x].cod,empleado[x].ht,empleado[x].vh,empleado[x].dt,empleado[x].sm);
}
}
else
{
printf("Valor por hora no reemplazado, no existe el codigo buscado...");
}
getch();
return 0;
EJERCICIO 25: REEMPLAZO (CODIFICACIÓN BANDERA CON TOPE2)

#include<stdio.h>
#include<conio.h>
typedef struct
{
int c;
float h,v,d,s;
}trabajador;
trabajador empleado[2];
int x,tope,vb,bandera,y;
float sb;
void main()
{
tope=2;
for (x=0; x<tope; x=x+1)
{
empleado[x].c=x+1;
do{
printf("ingrese las horas trabajadas del empleado%d:",x+1);
scanf("%f",&empleado[x].h);
}while (empleado[x].h<1||empleado[x].h>20);
do{
printf("ingrese el valor de las horas del empleado%d:",x+1);
scanf("%f",&empleado[x].v);
}while (empleado[x].v<1||empleado[x].v>20);
do{
printf("ingrese los dias trabajados del empleado%d:",x+1);
scanf("%f",&empleado[x].d);
}while (empleado[x].d<1||empleado[x].d>20);
empleado[x].s=empleado[x] .h*empleado[x].v*empleado[x].d;
printf("sueldo empleado%d:%2.2f\n",x+1,empleado[x].s);
}
printf("\n\nproceso de reemplazo\n\n");
bandera=0;
do{
printf("ingrese codigo de empleado a buscar para reemplazar valor:");
scanf("%d",&vb);
}while (vb<1||vb>tope);
for (x=0; x<tope; x=x+1)
{
if (vb==empleado[x].c)
{
bandera=1;
y=x;
do{
printf("ingrese el nuevo valor por hora:");
scanf("%f",&empleado[x].v);
}while (empleado[x].v<1||empleado[x].v>20);
}
}
if (bandera==1)
{
printf("valor por hora de empleado %d reemplazado con exito....presione cualquier tecla
para mostrar nuevos valores.\n\n\n",empleado[y].c);
getch ();
for (x=0; x<tope; x=x+1)
{ empleado[x].s=empleado[x].h*empleado[x].v*empleado[x].d;
printf("empleado %d \n %0.0f horas a $%2.2f durante %0.0f dias\ntiene $%2.2f de
sueldo mensual\n\n",empleado[x].c,empleado[x].h,empleado[x].v,empleado[x].d,empleado[x].s);
}
}
else
{
printf("valor por hora no reemplazado, no existe el codigo buscado...");
}
getch();
}

También podría gustarte