Dise - PowerPoint PPT Presentation

About This Presentation
Title:

Dise

Description:

Las estructuras anidadas corresponden a variables de tipo ... return(-1); // nunca lo encontr . Funciones para cadenas. strcpy(str2,str1): Copia str1 en str2 ... – PowerPoint PPT presentation

Number of Views:115
Avg rating:3.0/5.0
Slides: 13
Provided by: face2
Category:
Tags: dise | nunca

less

Transcript and Presenter's Notes

Title: Dise


1
Diseño de algoritmosEstructuras
Claudio Gutiérrez-Soto.
2
Estructuras
  • Estructuras Anidadas
  • Las estructuras anidadas corresponden a variables
    de tipo estructura dentro de otras estructuras,

3
Estructuras
  • Estructuras Anidadas
  • includeltstdio.hgt
  • define N 20
  • define LARGO 30
  • struct fecha
  • int dia
  • int mes
  • int anho
  • struct Datos
  • char NombreLARGO
  • char ApellidoLARGO
  • stuct fecha FechaNac
  • struct Empleado
  • struct Datos DatosPers
  • float sueldo
  • EmpleadosN

main() int i for(i0iltNi)
printf(Ingrese el nombre para el empleado
d\n,i) gets(Empleadosi.DatosPers.Nombre)
printf(Ingrese el apellido para el
empleado d\n,i) gets(Empleadosi.DatosPer
s.Apellido) printf(Ingrese la fecha de
nacimiento dd/mm/aa para el empleado d\n,i)
scanf(d,d,d,Empleadosi.DatosPers.FechaNac
.dia, ,Empleadosi.DatosPers.FechaNac.mes,
,Empleadosi.DatosPers.FechaNac.anho )

4
Estructuras
Dada la estructura includeltstdio.hgt define N
20 define LARGO 30 struct fecha int
dia int mes int anho
struct Datos char NombreLARGO
char ApellidoLARGO stuct fecha
FechaNac struct Empleado struct Datos
DatosPers float sueldo EmpleadosN
Crear una función que muestre el sueldo para
una persona, dado el nombre y el apellido

5
Estructuras
Dada la estructura includeltstdio.hgt define N
20 define LARGO 30 struct fecha int
dia int mes int anho
struct Datos char NombreLARGO
char ApellidoLARGO stuct fecha
FechaNac struct Empleado struct Datos
DatosPers float sueldo EmpleadosN
float Sueldo(char Nombre ,char Apellido)
int i for(i0iltNi)
if(!strcmp(Nombre,Empleadosi.DatosPers.Nombre)
!strcmp(Apellido,Empleadosi.DatosPer
s.Apellido) )
return(Empleadosi.sueldo) else
continue return(-1) // nunca lo encontró

6
Funciones para cadenas
  • strcpy(str2,str1) Copia str1 en str2
  • strcmp(str1,str2) Compara dos cadenas str1 y
    str2. Si str1str2 entonces retorna 0.
  • strlen(str1) devuelve un entero que va a ser el
    largo de srt1.
  • strcat(str1,str2) concatena el string str2 al
    final del string str1.

7
Estructuras
Dada la estructura includeltstdio.hgt define N
20 define LARGO 30 struct fecha int
dia int mes int anho
struct Datos char NombreLARGO
char ApellidoLARGO stuct fecha
FechaNac struct Empleado struct Datos
DatosPers float sueldo EmpleadosN
Crear una función que muestre a todas las
personas que poseen un sueldo mayor o igual a
700.000.

8
Estructuras
Dada la estructura includeltstdio.hgt define N
20 define LARGO 30 struct fecha int
dia int mes int anho
struct Datos char NombreLARGO
char ApellidoLARGO stuct fecha
FechaNac struct Empleado struct Datos
DatosPers float sueldo EmpleadosN
void MostrarSueldo(float Sueldo_) int i
for(i0iltNi) if(Sueldo_ gt
Empleadosi.sueldo )
printf(Nombre s,Empleadosi.DatosPers.Nombre)
printf(Apellido s,Empleadosi.Da
tosPers.Apellido) printf(Sueldo
f,Empleadosi.sueldo)
printf(\n) else continue

9
Estructuras
Dada la estructura struct Curso char
CodCurso3 char NombreCurso20 Class10
// cursos del colegio/ struct Ramos char
CodRamo5 char NombreRamo30 char
Cod_curso20 Ramos_Curso50 /5 ramos por
curso/ struct Notas char Rut12 float
N1 float N2 float N3 float
promedio char Cod_Ramo5 char
Cod_Curso3 Notas_Ramo_Curso500
  • struc DatosPersonales
  • char rut12
  • char nombre20
  • char Direccion30
  • int telefono
  • char cod_curso3
  • ALUMNOS100 / Alumnos del colegio/
  • Crear una función que permita ingresar las notas
    de un determinado curso y ramo
  • Crear una función que calcule el promedio para un
    determinado curso y ramo.
  • Crear una función que muestre a los alumnos de un
    curso, para un determinado ramo y que cumplen con
    una calificación mínima

10
Estructuras
  • También es posible hacer asignaciones directas
    de una variable estructura a otra, esto debido a
    que sus miembros se ubican en posiciones
    contiguas de memoria.

11
Estructuras
Dada la estructura includeltstdio.hgt define N
20 define LARGO 30 struct fecha int
dia int mes int anho
struct Datos char NombreLARGO
char ApellidoLARGO stuct fecha
FechaNac struct Empleado struct Datos
DatosPers float sueldo EmpleadosN
void ModificarFecha(struct fecha FechaMod,char
Nombre,char Apellido) int i
for(i0iltNi) if(!strcmp(Empleadosi.Dat
osPers.Nombre) !strcmp(Empleadosi.DatosPers.A
pellido) )
Empleadosi.DatosPers.FechaNacFechaMod
else continue

12
Preguntas?
Write a Comment
User Comments (0)
About PowerShow.com