מידע

יוצרים Berg Lucas
מועד הגשה אין מועד הגשה
מגבלת הגשות אין הגבלה

כניסה

[9.4] Morceaux de musique

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 (Profitez-en pour utiliser une enum. Allez voir dans le syllabus comment ça fonctionne !).

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. Indiquez d’abord le nombre de chansons que je vais encoder, puis je les encode une à une.

  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

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

Autoévaluation

Une fois votre programme écrit, vérifiez et corrigez les points suivants:

  • Chaque instruction se termine-t-elle bien par un point virgule ?
  • La séquence d'instruction après l'accolade ouvrante est-elle alignée mais légèrement décalée vers la droite par rapport à "main" ?
  • Chaque variable est-elle déclarée ? C'est-à-dire, avez vous déterminé le type de chacune de vos variables ?
  • Avez-vous utilisé la fonction de lecture qui correspond au type de la variable dont vous voulez obtenir la valeur ? Par exemple, si vous voulez obtenir un int, avez-vous bien utilisé "scanf("%d", &votre_variable)" ?

Une fois votre programme corrigé, exécutez-le ! Si tout semble correct, postez votre réponse sur Webcampus !


Le code