j'ai changé presque tout le programme alors je vais le mettre aprés!
j'ai changé presque tout le programme alors je vais le mettre aprés!
Quel est(sont) le(s) message(s) d'erreur obtenu(s) ?
salut !
et les erreurs, sont-elles liées au compilateur ou est-ce ton programme qui produit des résultats inattendus ?
@+
si il y'a une erreur type incompatible {sound(note[i])} note[i] normalement ca devrais etre un integer pas un real .....
@++
les erreurs se place en case note[i] of plus precisement en of alors il declare que l'erreur est ordinal expression excepted en plus il declare aussi une erreur en sound(note[i]) il declare type mismutch!
pour ce qui concerne le type de note[i] je ne vois aucune erreur de la prendre real!!en plus on peut pas la declarer integer!
oui tu as raison diden note[i] doit etre en integer! mais dans mon programme nte[i] doit etre en real alors comment faire?Et pour "of " y a il certaine suggestion?
Pour convertir un réel en entier, on peut utiliser round. Ensuite, tu ne peux pas faire de case of avec des réels car ce n'est pas un type ordinal, les valeurs ne sont pas continues. Le plus simple est de faire des if. Sinon les fréquences sonores sont rarement des nombres à virgules, et sound ne prend que des entiers en paramètres, donc autant tout mettre en entier dès le début, c'est beaucoup plus simple![]()
a part les remarque que on vient de te faire je voudrais souligner une petite erreur que tu a commi
ca veut dire qu'a chauqe fois ta variable choix sera ecrasé pour finalement prendre la valeur de la derniere valeur entrée
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 repeat read(choix); until (choix<=1 and choix>=9)
a part ca ton programme devrais marché sinon n'hesite pas a poser tes questions
@++
A mon avis c'est volontaire... As-tu compris pourquoi elle faisait ça, avant de faire ta remarque ?Envoyé par diden138
diden: c'est voulu, l'utilisateur doit saisir choix tant que les valeurs saisies ne sont pas comprises entre les bonnes bornes
oups, wormfull plus rapide![]()
enfin j'ai converti les valeur de note[i] en entier et j'ai recupéré toutes les petites fautes mais les notes ne s'entendent pas parfaitement comme il faut à part ça le programme marche bien!! donc vous voyez que remplacer case of par if est la seule solution pour pouvoir prendre des valeurs real?parceque avec if le programme va etre trop plus long en plus il est déjà trés long puisque j'ai ajouté les solutions de toutes les possibilités des saisies erronées que peut entrer l'utilisateur!
mais je vois que c'est pas possible de prendre les valeurs réelles par ce que même si je vais prendre des valeurs real je dois convertir par la suite pour la fonction sound!!donc il y a pas de solutions?
Prendre des valeurs entières............. Le demi Hertz ne fait pas de grande différence à l'oreille
Partager