String Durchsuchen nach Consonants



  • Hallo liebe Community hier ist der Code zum zählung der vowels,consonants,digits,spaces
    und hier ist alles klar für mich soweit aber die eine zeile wo es die consonanten zählt verstehe ich einfach nicht: :
    else if(line[i] >= 'A' && line[i] <= 'Z') {
    ++consonants;
    so wie ich es sehe , es geht durch ganzen buchstaben die es gibt ( alphabet!?) aber wie weis es welche die konsonanten sind ? Oder schliest er die vowels aus weil sie schon vorher bestimmt waren?
    BITTE ann mir man es jemand erklären?? Sonst kann ich heute nicht schlaffen 😉

    vielen Dank!

    #include <iostream>
    using namespace std;

    int main() {
    string line;
    int vowels, consonants, digits, spaces;

    vowels = consonants = digits = spaces = 0;

    cout << "Enter a line of string: ";
    getline(cin, line);

    for(int i = 0; i < line.length(); ++i) {

    // uppercase conversion
    line[i] = toupper(line[i]);
    
    if(line[i] == 'A' || line[i] == 'E' || line[i] == 'I' || line[i] == 'O' || line[i] == 'U')  {
      ++vowels;
    }
    else if(line[i] >= 'A' && line[i] <= 'Z') {
      ++consonants;
    }
    else if(line[i] >= '0' && line[i] <= '9') {
      ++digits;
    }
    else if (line[i] == ' ') {
      ++spaces;
    }
    

    }

    cout << "Vowels: " << vowels << endl;
    cout << "Consonants: " << consonants << endl;
    cout << "Digits: " << digits << endl;
    cout << "White spaces: " << spaces << endl;

    return 0;
    }



  • Hallo @crystalwear , die Vokale sind doch schon gezählt bzw. der Buchstabe, der ein Vokal ist würde schon gezählt. Kommt also gar nicht mehr in die anderen 'else' zur Betrachtung.


Anmelden zum Antworten