Thông tin

Hạn chót Không có hạn chót
Giới hạn nộp bài Không có giới hạn

Tags

Đăng nhập

[9.3] Morceaux de musique [Obligatoire]

Je joue de la musique irlandaise et j’aimerais pouvoir encoder les morceaux de musique que j’apprends. Pour le moment, je ne joue que quatre type de morceaux : des reels, des jigs, des polkas et des mazurkas

Une musique a un nom, un type (parmi les 4 cités précédemment) et une durée (en secondes).

Remplacez les TODO du programme ci-dessous afin d’encoder ces musiques de cette façon :

  1. Demandez d'abord à l'utilisateur combien de morceaux il souhaite encoder, puis pour chaque morceau, demandez :

    • son titre
    • son type (reel, jig, polka, mazurka)
    • sa durée (en secondes)
  2. Affichez ensuite à l'utilisateur:

    • la durée moyenne d'un morceau
    • le titre du morceau le plus long
    • la plus longue suite de morceaux du même type qui ont été encodés, ainsi que les titres de ces morceaux

Essayez d'utiliser une enum pour représenter les différents types de morceaux ! Allez voir dans le syllabus pour comprendre comment elles fonctionnent.

Exemple

Par exemple, si j'ai encodé 3 jigs, 2 polkas, 1 jig, 4 reels, 1 mazurka, j'aimerais que le programme m'affiche

Nombre de morceaux à encode: 11
Morceau 1
Titre: jig1
Type (reel, jig, polka, mazurka): jig
Durée: 60

Morceau 2
Titre: jig2
Type (reel, jig, polka, mazurka): jig
Durée: 63

Morceau 3
Titre: jig3
Type (reel, jig, polka, mazurka): jig
Durée: 45

Morceau 4
Titre: polka1
Type (reel, jig, polka, mazurka): polka
Durée: 73

Morceau 5
Titre: polka2
Type (reel, jig, polka, mazurka): polka
Durée: 80

Morceau 6
Titre: jig4
Type (reel, jig, polka, mazurka): jig
Durée: 76

Morceau 7
Titre: reel1
Type (reel, jig, polka, mazurka): reel
Durée: 25

Morceau 8
Titre: reel2
Type (reel, jig, polka, mazurka): reel
Durée: 90

Morceau 9
Titre: reel3
Type (reel, jig, polka, mazurka): reel
Durée: 53

Morceau 10
Titre: reel4
Type (reel, jig, polka, mazurka): reel
Durée: 49

Morceau 11
Titre: mazurka1
Type (reel, jig, polka, mazurka): mazurka
Durée: 78

Durée moyenne: 62.91
Morceau le plus long: reel2
Titres de la suite la plus longue:
reel1
reel2
reel3
reel4

Évaluation

Votre code va être compilé puis testé avec plusieurs valeurs d'entrées différentes pour vérifier qu'il fonctionne bien.

Cependant, prenez déjà l'habitude de tester votre code vous-mêmes car il n'y aura pas INGInious pour le vérifier automatiquement dans l'exercice récapitulatif.

Veuillez aussi suivre les bonnes pratiques suivantes car INGInious ne sait pas les vérifier automatiquement mais elles seront vérifiées dans l'exercice récapitulatif :

  • Les noms des variables, constantes, paramètres, fonctions, structures et types créés sont-ils pertinents ? Correspondent-ils vraiment à ce qu'ils doivent contenir ?
  • Est-ce que le code est correctement factorisé ? Est-ce qu'il est possible de déplacer du code en dehors des sélections ou de créer des fonctions pour avoir moins de code dupliqué ?
  • Est-ce que les sélections et conditions sont correctement organisées ? Est-ce qu'il est possible de changer l'ordre des sélections ou des conditions pour diminuer leur nombre ?
  • Est-ce que toutes les fonctions sont bien spécifiées avec des préconditions et postconditions claires ?

Le code