いくつかの簡単なタスクなどは完了しましたが、コーディングに関してはやや初心者です。この小さなプロジェクトに問題があります。for
コードにループを実行させ、配列の各要素を検索し、それぞれに含まれる文字を確認したいと考えています。要素が特定の文字と等しい場合、その文字に対応するサウンド ファイルを再生します。
#include <windows.h>
#include <mmsystem.h>
#pragma comment(lib, "winmm32.lib")
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
string myArray[] = {"a", "b", "c", "d", "e", "f", "g"};
for(int i = 0; i < (sizeof(myArray)/sizeof(*myArray));i++) {
if(myArray[i].find("a")) {
cout << myArray[i] << endl;
PlaySound("C:\\Users\\victor.leese\\Desktop\\a.wav", NULL, SND_SYNC);
}
}
system("PAUSE");
return EXIT_SUCCESS;
}
問題は、コードを実行すると、if ステートメントの要素が i で、「a」が出力されず、他の 6 文字が出力され、A サウンド ファイルが何度も再生されることです。私が理解し、動作させたい方法は、最初に「a」を1回だけ出力し、サウンドファイルを1回だけ再生することです。
おそらく本当に簡単な解決策か、私が忘れていた何かがあることに気づきました。ご意見ありがとうございます。