Ma premiere class allez y lapider moi !

Ma premiere class allez y lapider moi ! - C++ - Programmation

Marsh Posté le 12-07-2003 à 12:51:21    

music.h

Code :
  1. /*
  2. FILE    : mucic.h   
  3. AUTHOR  : coulix, TAGMC21     v0.3     12/07/03
  4. PURPOSE : An easy way to translate music sheets into computer-speaker output sounds.
  5. ENLISH NOTE SYSTEM EQUIVALENCE
  6. ------------------------------
  7. DO -> C     DO#/REb -> C#/Db
  8. RE -> D     RE#/MIb -> D#/Eb
  9. MI -> E     FA#/SOLb-> F#/Gb
  10. FA -> F     SOL#/LAb-> G#/Ab
  11. SOL-> G     LA#/SIb -> A#/Bb
  12. LA -> A
  13. SI -> B
  14. ENGLISH RYTHMIC SYSTEM EQUIVALENCE
  15. ----------------------------------
  16. On hold
  17. */
  18. #ifndef MUSIC_H
  19. #define MUSIC_H
  20. using namespace std;
  21. class music 
  22. {
  23.   public :
  24.     enum sound_freq          //link a frequencie to a note
  25.                  {oDO=16    ,oRE=18    ,oMI=20    ,oFA=22    ,oSOL=24   ,oLA=27   ,oSI=31,
  26.                   oDOd=17   ,oREd=20   ,oFAd=23   ,oSOLd=26  ,oLAd=29,
  27.                   IDO=33    ,IRE=37    ,IMI=41    ,IFA=44    ,ISOL=49   ,ILA=55   ,ISI=62,
  28.                   IDOd=35   ,IREd=39   ,IFAd=46   ,ISOLd=52  ,ILAd=58,
  29.                   IIDO=65   ,IIRE=73   ,IIMI=82   ,IIFA=87   ,IISOL=98  ,IILA=110 ,IISI=123,
  30.                   IIDOd=69  ,IIREd=78  ,IIFAd=92  ,IISOLd=104,IILAd=117,
  31.                   IIIDO=131  ,IIIRE=147  ,IIIMI=165   ,IIIFA=175   ,IIISOL=196 ,IIILA=220 ,IIISI=247,
  32.                   IIIDOd=139 ,IIIREd=156 ,IIIFAd=185  ,IIISOLd=208 ,IIILAd=233,
  33.                   IVDO=262   ,IVRE=294   ,IVMI=329  ,IVFA=349 ,IVSOL=392 ,IVLA=440 ,IVSI=494,
  34.                   IVDOd=277 ,IVREd=311 ,IVFAd=370 ,IVSOLd=415 ,IVLAd=466,
  35.                   VDO=523  ,VRE=587  ,VMI=659  ,VFA=698   ,VSOL=784 ,VLA=880 ,VSI=988,
  36.                   VDOd=554 ,VREd=622 ,VFAd=740 ,VSOLd=831 ,VLAd=932,
  37.                   VIDO=1046  ,VIRE=1175  ,VIMI=1319  ,VIFA=1397   ,VISOL=1568 ,VILA=1760 ,VISI=1976,
  38.                   VIDOd=1109 ,VIREd=1245 ,VIFAd=1480 ,VISOLd=1661 ,VILAd=1865,
  39.                   VIIDO=2094  ,VIIRE=2349  ,VIIMI=2637  ,VIIFA=2793   ,VIISOL=3135 ,VIILA=3520 ,VIISI=3951,
  40.                   VIIDOd=2217 ,VIIREd=2489 ,VIIFAd=2959 ,VIISOLd=3322 ,VIILAd=3729,
  41.                   VIIIDO=4186  ,VIIIRE=4698,
  42.                   VIIIDOd=4434 ,VIIIREd=4978,};
  43.                  
  44.     enum type                  //lenght of a note
  45.          {ronde=32, blanche_pointe=24 ,blanche=16, noire_pointe=12,
  46.           noire=8, croche_pointe=6 , croche=4, triolet=3, demi_croche=2,
  47.           quart_croche=1 };
  48.          
  49.     enum stop                  //lenght of a pause
  50.          {soupir=8 , demi_soupir= 4, pause=32 , demi_pause = 16, quart_soupir=2};
  51.                  
  52.     void assign_tempo(int x);  //Assign tempo for one "noire" (60=1s )
  53.     void note(sound_freq freq,type lenght); //play the wanted note
  54.     void silence(stop stp);               
  55.     void sample_desc (int var); //loop sound sanple
  56.    
  57.     private :
  58.     int temp;   //temp hold the tempo
  59.  
  60. };
  61. #endif


 
 
music.cpp

Code :
  1. #include "music.h"
  2. #include <cstdlib>
  3. using namespace std;
  4. void music::assign_tempo(int x)
  5. {
  6. temp=x;
  7. }
  8. void music::note(sound_freq freq,type lenght)
  9. {
  10. _beep(freq,(7500/temp*lenght));
  11. }
  12. void music::silence(stop stp)
  13. {
  14. _sleep((7500/temp)*stp);
  15. }
  16.  
  17. void sample_desc (int var)
  18. {
  19. for (int i=1; i <var; i++) {
  20. _beep((5000/i), i*10);}
  21. }


 :hello:

Reply

Marsh Posté le 12-07-2003 à 12:51:21   

Reply

Marsh Posté le 12-07-2003 à 13:08:57    

sa veut dire que c est bon ?
weeeeeeeeeeeeeeeeeeeeeeeeee  :D  :whistle:  :D

Reply

Marsh Posté le 12-07-2003 à 14:13:43    

xiluoc a écrit :

sa veut dire que c est bon ?
weeeeeeeeeeeeeeeeeeeeeeeeee  :D  :whistle:  :D  

fo voir aussi que tu touches pas encore a la dérivation virtuelle statiquisée...  :ange:

Reply

Marsh Posté le 12-07-2003 à 14:23:38    

Code :
  1. private :
  2.         int temp;   //temp hold the tempo


 
Avec un nom de variable pareil en variable membre, je sens un fort pourcentage de shadowing possible :D
 
(autrement dit : trouev un qqonque moyen syntaxique de differencier variable membre de variable pas membre)
 
il te sert a quoi le #using namespace std la ?


Message édité par chrisbk le 12-07-2003 à 14:24:08
Reply

Marsh Posté le 12-07-2003 à 14:43:50    

chrisbk a écrit :

Code :
  1. private :
  2.         int temp;   //temp hold the tempo


 
Avec un nom de variable pareil en variable membre, je sens un fort pourcentage de shadowing possible :D
 
(autrement dit : trouev un qqonque moyen syntaxique de differencier variable membre de variable pas membre)
 
il te sert a quoi le #using namespace std la ?


temp j ai mis tempo a la place( en fait je lafait pas fait au debut parceque ma premiere fonction s appelait tempo au lieu de Assign_tempo.
 
le using namespace std , heu a rien je le metais par habitude mais sa marche sans apperement, pourquoi ? je me le demande bien :/

Reply

Marsh Posté le 12-07-2003 à 14:45:01    

farib a écrit :

fo voir aussi que tu touches pas encore a la dérivation virtuelle statiquisée...  :ange:  


 :sweat:  :whistle:  :D

Reply

Marsh Posté le 12-07-2003 à 15:46:05    

xiluoc a écrit :


temp j ai mis tempo a la place( en fait je lafait pas fait au debut parceque ma premiere fonction s appelait tempo au lieu de Assign_tempo.
 
le using namespace std , heu a rien je le metais par habitude mais sa marche sans apperement, pourquoi ? je me le demande bien :/


bah tu surcharges [:spamafote]

Reply

Marsh Posté le 22-07-2003 à 14:15:15    

NON IL NE SURCHARGE PAS NECESSAIREMENT
 
cette instruction permet d'éviter les conflits lors de l'inclusion de plusieurs headers (.h)lors de la création de projet volumineux

Reply

Marsh Posté le 22-07-2003 à 19:13:24    

briseparpaing a écrit :


Code :
  1. void note(const sound_freq freq,type lenght) const ;
  2. void silence(const stop stp) const;




 
Les const devant des paramètres qui ne sont ni référence ni pointeur ne servent pas à grand chose.


---------------
From now on, you will speak only when spoken to, and the first and last words out of your filthy sewers will be "Sir!"
Reply

Marsh Posté le 22-07-2003 à 21:09:56    

briseparpaing a écrit :


 
Certes. Mais l'habitude de les mettre ne mange pas de pain.  :D  


 
Si il a pas l'habitude de manger du pain, il est pas francais alors.


Message édité par Tetedeiench le 22-07-2003 à 21:10:12
Reply

Marsh Posté le 22-07-2003 à 21:09:56   

Reply

Marsh Posté le 23-07-2003 à 04:52:40    

tetedeiench a écrit :


 
Si il a pas l'habitude de manger du pain, il est pas francais alors.


 
 
edit :  [:alarmclock119] wewe


Message édité par xiluoc le 23-07-2003 à 05:44:09
Reply

Marsh Posté le 23-07-2003 à 07:33:55    

tetedeiench a écrit :


 
Si il a pas l'habitude de manger du pain, il est pas francais alors.


Merde, et moi qui croyais être français... :(

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed