尽管我已经完成了一些简单的任务等,但我在编码方面有些新手。我在这个小项目上遇到了麻烦。我想让代码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”,并且只播放一次声音文件。
我意识到可能有一个非常简单的解决方案或我忘记的东西。感谢您的任何意见。