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