Download as pdf or txt
Download as pdf or txt
You are on page 1of 2

JUGADORES DE BÀSQUET

Cal desenvolupar un programa que ajudi a gestionar la informació que tenim de les jugadores de
bàsquet de les principals lligues a nivell mundial. Cal mantenir dues estructures de dades, la de les
jugadores (ordenada per codi de jugadora) i la de les seves nacionalitats (ordenada per
nacionalitat). De cada jugadora guardem el seu codi, cognom, nom, nacionalitat i equip. De cada
nacionalitat guardem el nom de la nacionalitat i el nombre de jugadores. Tindrem com a màxim
10000 jugadores (amb codis diferents) i 250 nacionalitats (amb noms diferents).

El programa ha de llegir un fitxer (que pot ser buit) amb les dades de les jugadores i ha de crear dues
estructures de dades: jugadores i nacionalitats. Cada línia del fitxer conté la informació completa
d’una jugadora en aquest format: codi_jugadora cognom nom nacionalitat i equip [salt de línia]. Totes
aquestes dades són strings. A mida que es llegeix el fitxer, cal mantenir sempre l'estructura de dades
de les jugadores ordenada per codi_jugadora. Simultàniament a la lectura del fitxer, es crearà
també l'estructura de dades de les nacionalitats, que s'ha de mantenir en tot moment ordenada
per nacionalitat.

Un cop creades les estructures de dades, un menú permet processar les següents comandes entrades
per teclat:

• 'A'-> Alta d’una jugadora en un equip: l’usuari introdueix un codi_jugadora. Si la jugadora ja


existeix, es llegeix el nou equip. Si no existeix, es llegeix tota la informació de la jugadora
(cognom, nom, nacionalitat i equip) i es dona d'alta. En aquest cas, cal tenir en compte que si la
nacionalitat de la jugadora no existeix prèviament a l'estructura de nacionalitats caldrà afegir-li.

• 'B' -> Baixa d’una jugadora: l’usuari introdueix un codi_jugadora. Si la jugadora existeix s’elimina
de l'estructura jugadores i s'actualitza l'estructura de nacionalitats (no s'haurà d'eliminar la
nacionalitat si queda amb 0 jugadores). Si el codi_jugadora no existeix es diu que no s'ha trobat.

• 'N' -> Mostrar nacionalitats: mostra les nacionalitats (en ordre alfabètic) amb el nombre de
jugadores que tenen i indica la nacionalitat amb més jugadores (si hi ha empat, es mostra la que
es troba primer alfabèticament).

• 'J' -> Mostrar jugadores ordenades per equip: mostra per pantalla totes les jugadores ordenades
per equip–nacionalitat–codi_jugadora. L’estructura de dades original no pot quedar modificada.

• 'S' -> Sortir: Se surt del programa.

Vegeu un exemple d'execució a la pàgina següent.


Exemple de contingut del fitxer jugadores.txt i execució del programa:

codi6 cognom1 nom1 pais2


equip2
codi5 cognom3 nom2 pais4
equip3
codi1 cognom1 nom3 pais1
equip1
codi2 cognom2 nom4 pais2
equip1
codi3 cognom7 nom4 pais3
equip2
codi8 cognom6 nom5 pais4
equip3
codi9 cognom1 nom7 pais1
equip2

NOM DEL FITXER: dades.txt


OPCIONS:
'A': ALTA D'UNA JUGADORA A UN EQUIP
'B': BAIXA D'UNA JUGADORA
'N': NACIONALITAT AMB MES JUGADORES
'J': JUGADORES ORDENADES PER EQUIP
'S': SORTIR
OPCIO: J
JUGADORES ACTUALS:
equip1 - pais1 cognom1 nom3 codi1
equip1 - pais2 cognom2 nom4 codi2
equip2 - pais1 cognom1 nom7 codi9
equip2 - pais2 cognom1 nom1 codi6
equip2 - pais3 cognom7 nom4 codi3
equip3 - pais4 cognom3 nom2 codi5
equip3 - pais4 cognom6 nom5 codi8
OPCIO: A
CODI JUGADORA: codi1
NOU EQUIP: equip3
OPCIO: A
CODI JUGADORA: codi7
DADES JUGADORA: cognom1 nom4 pais4 equip3
OPCIO: B
CODI JUGADORA: codi3
OPCIO: J
JUGADORES ACTUALS:
equip1 - pais2 cognom2 nom4 codi2
equip2 - pais1 cognom1 nom7 codi9
equip2 - pais2 cognom1 nom1 codi6
equip3 - pais1 cognom1 nom3 codi1
equip3 - pais4 cognom3 nom2 codi5
equip3 - pais4 cognom1 nom4 codi7
equip3 - pais4 cognom6 nom5 codi8
OPCIO: N
NACIONALITATS:
pais1 - 2
pais2 - 2
pais3 - 0
pais4 - 3
NACIONALITAT AMB MES JUGADORES: pais4 - 3
OPCIO: B
CODI JUGADORA: codi10
JUGADORA NO TROBADA
OPCIO: A
CODI JUGADORA: codi4
DADES JUGADORA: cognom4 nom8 pais6 equip1
OPCIO: N
NACIONALITATS:
pais1 - 2
pais2 - 2
pais3 - 0
pais4 - 3
pais6 - 1
NACIONALITAT AMB MES JUGADORES: pais4 - 3
OPCIO: S

You might also like