Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » VC++ / MFC » Vergleichs problem

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
09.08.2003, 17:27 Uhr
~Fuat
Gast


Hallo leute

Jeder kennt ein klavier tastatur.Die einzelnen tasten sind von 0-127 mit werten
Numeriert.
Da die note C auf der tastatur mehr mals vorkommt hat jeder C seine eigene
wert

c-2 = 0
c-1 = 12
c0 = 24
c1 = 36
c2 = 48
c3 = 60
c4 = 72
c5 = 84
c6 = 96
c7 = 108
c8 = 120
Es sind 11 Elemente

Das eingabe Tastatur sendet für jeden C das gedrückt wurde den wert.

Frage 1: wie kann ich alle C,s unter einen namen ansprechen?
Frage 2: wie kann ich einen neuen wert zuweisen für das C das gedrückt wurde?

Ich denke mit Array und Switch lige ich da richtig oder geht es anders?

Ich möchte sagen wenn C gedrückt wurde dann erhöhe den wert um eine bestimmte
Zahl.Aber nur den wert des gedrückten C,s

Ein kleine beispiel code währe net

Grüße Fuat
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
09.08.2003, 17:48 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


@Fuat
ich vermute mal das hinter den noten frequenzwerte stehen sollen, wenn nicht ist auch egal

meinst du so in der art

C++:
double noten[121];
void setNote(int oktave, int note. double wert){noten[ (oktave+2)*12+ note]=wert;}
double getNote(int oktave, int note){ return noten[ (oktave+2)*12+ note];}



Gruss Heiko
--
...fleißig wie zwei Weißbrote

Dieser Post wurde am 09.08.2003 um 17:49 Uhr von Heiko editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
09.08.2003, 18:22 Uhr
~Fuat
Gast


Hi Heiko

Die wert hinter den noten sind die noten nummern keine frequenzwerte.

Da ich Anfänger bin verstehe ich dein code nicht so genau.

jedenfalls ist das ankommende wert eine note zugeordnet.

von den 127 werten ist eine wert für eine bestimmte note zugeordnet.Die werte für alle C habe ich oben geschrieben.

ich möchte sagen können.wenn C gedrückt wird dann erhöhe den wert für diesen bestimmten C.

und alle anderen C,s bleiben wie sie sind

Als ich muß alle C,s zusammenfasen und prüfen welche C gedrückt wurde
und neuen wert zu weisen.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
09.08.2003, 18:35 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


Ich glaub ich versteh dein problem nicht ganz.

also wenn du dir ein array machst mal egal ob du jetzt ints oder doubles speicherst kannst du das z.b. so machen


C++:
int noten[121];



das wären dann 121 werte anzusprechen mit den indices von 0...120, so wie deine tabelle oben

jetzt weiss ich nicht was du genau da speichern willst.

einfach nur die werte raufzählen?
als so?

C++:
int i;
for(i=0;i<121;i++) noten[i]=i;



wenn du jetzt einfach nur die werte für alle c's änder willst geht das zb.so


C++:
int x=3 //auf alle c's 3 draufaddieren
for(i=0;i<121;i+=12) noten[i]+=x;




an sonsten versteh ich dein problem gar nicht um dir überhaupt helfen zu können. müsstest du mal besser beschreiben oder vielleicht hat es ja auch jemand anders verstanden


Gruss Heiko
--
...fleißig wie zwei Weißbrote

Dieser Post wurde am 09.08.2003 um 18:35 Uhr von Heiko editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
09.08.2003, 19:01 Uhr
~Fuat
Gast


Danke Heiko

Ich überlege mal in ruhe wie ich mein problem besser ausdrücken kann.

Ich möchte in
int noten[121];

noten[0]=0;
noten[1]=1;
noten[2]=2;
noten[3]=3;
noten[4]=4;
usw

wenn keyboadtaste den wert 4 zürück gibt

dann soll verglichen werden welche element von int noten[121];
den wert 4 hat und es soll um eine bestimmte zahl erhöet werden

beispiel

if(keyboad_taste == noten[?])
{
noten[?]=+3;
}

wie finde ich das frage zeichen?

hilft dir das weiter
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
09.08.2003, 20:04 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


also wie auch schon oben angegeben diese schleife schreibt dir das so wie du das haben wolltest

noten[0]=0;
noten[1]=1;
noten[2]=2;
noten[3]=3;
noten[4]=4;
...

C++:
int i;
for(i=0;i<121;i++) noten[ i ]=i;




mit dieser schleife vergleichst du jedes element des arrays mit keyboard_taste.
wenn beide gleich sind dann wird was draufgeschlagen


C++:
int keyboard_taste=10 //zb. jetzt mal 10;
for(i=0;i<121;i++) if(keyboard_taste==noten[ i ])noten[i]+=3; //oder um wieviel auf immer du erhöhen willst



Alles Klar?
--
...fleißig wie zwei Weißbrote

Dieser Post wurde am 09.08.2003 um 20:05 Uhr von Heiko editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
09.08.2003, 20:17 Uhr
~Fuat
Gast


Danke Heiko!

Ich mach mich ans werk
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ VC++ / MFC ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: