Informatică, întrebare adresată de datspy300, 8 ani în urmă


9. Se introduce un text de la tastatură. Să se afişeze numărul de litere din text, numărul
de cifre şi numărul de caractere speciale. Analiza se va face fără să se țină cont de
diferența dintre literele mari şi literele mici.

Răspunsuri la întrebare

Răspuns de CatalinGrigoriev
1

#include <iostream>

#include <string>

inline std::string getInput(){

   std::string temp {};

   std::cout << "Input = ";

   std::cin >> temp;

   return temp;

}

const char Litere[31] = {'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'};

const char Simboluri[14] = {'!','@','#','$','%','^','&','*','(',')','_','-','+','='};

const int Cifre[9] = {1, 2, 3, 4, 5, 6, 7, 8 ,9};

int main(){

   std::string text = getInput();

   int sizeText = text.length();

   int k = 0;

   for(int i = 0; i < sizeText; i++){

       for(int j = 0; j < 31; j++){

           if(text[i] == Litere[j] || text[i] == toupper(Litere[j])) k++;

       }

   }

   std::cout << "Litere = " << k << "\n";

   k = 0;

   for(int i = 0; i < sizeText; i++){

       for(int j = 0; j < 9; j++){

           int t = (int)text[i] - '0';

           if(t == Cifre[j]) k++;

       }

   }

   std::cout << "Cifre = " << k << "\n";

   k = 0;

   for(int i = 0; i < sizeText; i++){

       for(int j = 0; j < 14; j++){

           if(text[i] == Simboluri[j]) k++;

       }

   }

   std::cout << "Simboluri = " << k << "\n";

   return 0;

}

Alte întrebări interesante