Enrere Mòdul 7
Fonaments de Programació. Llenguatge C/C++---
Exercicis

 

1. Base de dades de pel·lícules

Seguint el mateix esquema del programa de la pràctica 1 feu una base de dades de pel·lícules. 

Definiu una estructura anònima i un vector associat a aquesta estructura amb el nom entrada. Els camps seran:

struct {
    char titol[50];
    char director[50];
    char protagonista[50];
    int duracio;
} entrada[MAX];

El programa ha de permetre fer noves entrades, esborrar-les, mostrar-les i fer cerques per títol, director i protagonista.

Anomeneu l'arxiu font: m7e1.cpp.

 

2. Suma de dates

Amb l'ajuda de la funció mktime(), tractada a la pràctica 5, feu un programa que utilitzi una funció que sumi a una data i hora determinada un nombre de segons. El protocol de la funció haurà de ser:

void suma_temps( tm *data, long segons);

És a dir, la funció tindrà dos arguments, un punter a una variable d'estructura tm i una variable entera. La funció modificarà el valor de la variable apuntada per data de forma que la nova variable correspongui a sumar aquests segons a la data. Per exemple, si data apunta a:

18:01:20 1 de gener de 2001, i sumen 100.000 segons tindrem la nova data i hora:

21:48:00 2 de gener de 2001.

Tingueu en compte que podeu sumar els segons directament al camp tm_sec i, encara que se superi el valor màxim de 59, la crida a la funció mktime() reajustarà el contingut dels camps per mostrar la data i hora correcta.

Anomeneu l'arxiu font: m7e2.cpp.

 

 
3. Divisió de nombres complexos

Completeu el programa de la pràctica 6 per incloure la divisió de nombres complexos. El quocient és possible sempre que la part real i la part imaginària del divisor no siguin simultàniament 0. Aquesta circumstància s'ha de comprovar.

Si tenim dos nombres complexos z1=a+bi     i    z2=c+di, es defineix la divisió com:

Anomeneu l'arxiu font: m7e3.cpp.

 

4. Arguments en la funció main()

Fent servir les idees de la pràctica 9, construïu una aplicació que es pugui cridar des de la línia de comandaments de MS-DOS amb dos paràmetres: un caràcter i un enter. L'aplicació ha d'escriure el caràcter indicat pel primer argument el nombre de vegades que indiqui el segon argument. Per exemple:

c:\>m7e4 x 10

xxxxxxxxxx

Anomeneu l'arxiu font: m7e4.cpp.

 

Problemes complementaris

Aquests exercicis serveixen per completar aquest mòdul però suposen una ampliació voluntària. No és necessari lliurar aquests exercicis. No obstant això, és convenient fer-los i lliurar-los.

 

5. Assignació dinàmica

Seguint les idees de la pràctica d'ampliació 2, feu un programa que calculi la mitjana d'un nombre indeterminat de números introduïts per teclat.

La introducció de dades (del tipus double) s'acabarà en el moment de prémer la tecla d'escape (codi ASCII 27).

Anomeneu l'arxiu font: m7e5.cpp.