La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Estructuras Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión 1.0.0 Unidad Didáctica 25.

Presentaciones similares


Presentación del tema: "Estructuras Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión 1.0.0 Unidad Didáctica 25."— Transcripción de la presentación:

1 Estructuras Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión 1.0.0 Unidad Didáctica 25

2 UD25: Estructuras Estructuras (struct)  Permiten definir tipos de datos más complejos formados por la unión de varios elementos o campos.  Los campos pueden ser de distintos tipos. typedef struct { T1 c1; T2 c2;... Tn cn; } Tr; Tr r1; r1.c1 = v1; r1.c2 = v2; … r1.cn = vn; Tr r2 = {v1, v2,…,vn}; DefiniciónDeclaración de variables

3 UD25: Estructuras Estructura Persona #define MAXCAR 256 typedef struct { char nombre[MAXCAR]; char apellidos[MAXCAR]; int edad char sexo; } Persona;  Definir un tipo struct que tenga los campos nombre, apellidos, edad y sexo para el tipo persona.  Punteros a estructuras: typedef Persona *PersonaP;

4 UD25: Estructuras Acceso a los campos con. y -> Persona p; leePersona(&p); p.edad++; strcpy(p.nombre, “María”); escribePersona(p); void leePersona(PersonaP pp) { scanf(“%s”, pp->nombre); scanf(“%s”, pp->apellidos); scanf(“%c”, &pp->sexo); scanf(“%d”, &pp->edad); } void escribePersona(const Persona p) { printf(“%s, %s”, p.apellidos, p.nombre); printf(“%c %d”, p.sexo, p.edad); }

5 UD25: Estructuras Ejercicios – Punto (I)  Escriba un fichero de cabecera Punto.h con las definiciones necesarias para trabajar con el tipo Punto.  Defina en el mismo fichero un tipo Poligono como un array de tipo Punto.  Añada la definición de un tipo enumerado que contenga los nombres de los cuatro cuadrantes y la palabra Ejes para aquellos puntos que estén sobre los ejes.  Añada las definiciones de los siguientes métodos para el tipo Punto:  double distanciaAlOrigen(Punto p)  Punto masCercanoAlOrigen(const Poligono pol)  Cuadrante cuadrante(Punto p)

6 UD25: Estructuras Ejercicios – Punto (II)  Punto sumaPuntos(Punto p1, Punto p2)  Punto leePunto()  void leePoligono(Poligono *pol)  Escriba el fichero Punto.c con el código necesario.  Escriba un fichero PruebaPunto.c que contenga un método main donde se invoquen todos los métodos anteriores y se impriman los resultados en pantalla.  Intente imprimir por pantalla el resultado de invocar el método cuadrante. ¿Qué especificador de formato habrá que usar?  Implemente un nuevo método que devuelva una cadena de texto a partir de un parámetro de tipo Cuadrante.

7 UD25: Estructuras Ejercicios – Album (I)  Escriba en un fichero Album.h las definiciones de tipos y estructuras necesarias para trabajar con los siguientes tipos:  Cancion: título, intérprete, duración, año  Album: nombre, género musical, array de canciones  Un álbum tendrá un máximo de 100 canciones.  El género musical de un álbum debe ser uno de los siguientes: pop, rock, jazz, salsa, flamenco.  Defina también el tipo AlbumP como un tipo puntero del tipo Album.

8 UD25: Estructuras Ejercicios – Album (II)  Añada al fichero Album.h las declaraciones de los siguientes métodos:  leeCancion. Lee la información de una canción por teclado.  leeAlbum. Lee desde teclado la información de un álbum.  duracionTotal. Calcula la duración total de todas las canciones de un álbum.  masAntigua. Devuelve la canción más antigua de un álbum.  numeroDeCanciones. Devuelve el número de canciones de un intérprete determinado en un álbum.  muestraCanciones. Muestra por pantalla la información de todas las canciones de un álbum, cada canción en una línea.

9 UD25: Estructuras Ejercicios – Album (III)  anyadeCancion. Añade una nueva canción a un álbum. En caso de que el álbum esté lleno se devolverá el valor -1. En otro caso devolverá 0.  subAlbum. Devuelve un álbum con aquellas canciones correspondientes a un año determinado.  Escriba en un fichero Album.c las implementaciones de todos los métodos anteriores.  Escriba un fichero PruebaAlbum.c que contenga un método main donde se invoquen todos los métodos anteriores y se impriman los resultados en pantalla.


Descargar ppt "Estructuras Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión 1.0.0 Unidad Didáctica 25."

Presentaciones similares


Anuncios Google