/* strings * blz 189 - oef 2 * Koen Noens * * zin inlezen, tellen hoeveel maaal een gegeven letter voorkomt */ #include #include int komt_voor(char ch, const char *s); void main () { char zin[100]; // array van 100 (99 + sluitnul) karakters char zoek; // te zoeken letter cout << " schijf eens een zin :\n"; cin.getline(zin,99); cout << " welke letter zoeken ? \t"; cin >> zoek; // resultaat dmv functie cout << "letter " << zoek << " komt " << komt_voor(zoek,strlwr(zin)) << " keer voor"<< endl; /* * komt_voor(zoek,strlwr(zin)) * * eigenlijk : * strlwr(zin) : zin omzetten naar lowercase voor niet case-sensitief zoeken * vervolgens : komt_voor (ch, zin) * * is nu overbodig omdat functie zowel upper als lowercase van * gegeven letter controleert */ } int komt_voor(char ch, const char *s) { int aantal = 0; char ch2 = ch; // upper/lowercase van gegeven letter // upper, resp. lowercase van gegeven letter bepalen if (ch >= 65 && ch <= 90)// if ch is uppercase { ch2 = ch + 32; } else // { if (ch >= 97 && ch <= 122)// if ch is lowercase { ch2 = ch -32; } } // zoeken en tellen while (*s) { if (*s == ch || *s == ch2 ) //zoek zowel upper- als lowercase van gegeven letter { aantal++; } s++; } return aantal; }