Find words which contains more than 3 e vowels: Difference between revisions

Add C++
(Added Forth solution)
(Add C++)
Line 225:
fclose(f);
return 0;
}</lang>
 
{{out}}
 
<pre>belvedere
dereference
elsewhere
erlenmeyer
evergreen
everywhere
exegete
freewheel
nevertheless
persevere
preference
referee
seventeen
seventeenth
telemeter
tennessee</pre>
 
=={{header|C++}}==
<lang cpp>#include <iostream>
#include <fstream>
 
bool test(const std::string &line) {
unsigned int e = 0;
for (char c : line) {
switch(std::tolower(c)) {
case 'a': return false;
case 'i': return false;
case 'o': return false;
case 'u': return false;
case 'e': ++e;
}
}
return e > 3;
}
 
int main() {
std::ifstream dict{"unixdict.txt"};
if (! dict.is_open()) {
std::cerr << "Cannot open unixdict.txt\n";
return 3;
}
for (std::string line; std::getline(dict, line);) {
if (test(line)) std::cout << line << std::endl;
}
return 0;
}</lang>
2,114

edits