Advertisement
JosepRivaille

P58653: Classificació de caràcters (2)

Mar 14th, 2015
983
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.83 KB | None | 0 0
  1. #include <iostream>
  2. using namespace std;
  3.  
  4.  
  5. void escriu_linia(char c, string s, bool b) {
  6.     cout << s << "('" << c << "') = ";
  7.     if (b) cout << "cert" << endl;
  8.     else cout << "fals" << endl;
  9. }
  10.  
  11. //Pre: Llegeix un caràter
  12. //Post: El classifica segons el tipus
  13. int main() {
  14.     char in;
  15.     cin >> in;
  16.     if ('0' <= in and in <= '9') {
  17.         escriu_linia(in, "lletra", false);
  18.         escriu_linia(in, "vocal", false);
  19.         escriu_linia(in, "consonant", false);
  20.         escriu_linia(in, "majuscula", false);
  21.         escriu_linia(in, "minuscula", false);
  22.         escriu_linia(in, "digit", true);
  23.     }
  24.     else if (('A' <= in and in <= 'Z') or ('a' <= in and in <= 'z')) {
  25.         escriu_linia(in, "lletra", true);
  26.         bool vocals_minuscules = (in == 'a') or (in == 'e') or (in == 'i') or (in == 'o') or (in == 'u');
  27.         bool vocals_majuscules = (in == 'A') or (in == 'E') or (in == 'I') or (in == 'O') or (in == 'U');
  28.         if (vocals_minuscules or vocals_majuscules) {
  29.             escriu_linia(in, "vocal", true);
  30.             escriu_linia(in, "consonant", false);
  31.         }
  32.         else {
  33.             escriu_linia(in, "vocal", false);
  34.             escriu_linia(in, "consonant", true);
  35.         }
  36.         if ('A' <= in and in <= 'Z') {
  37.             escriu_linia(in, "majuscula", true);
  38.             escriu_linia(in, "minuscula", false);
  39.  
  40.         }
  41.         else {
  42.             escriu_linia(in, "majuscula", false);
  43.             escriu_linia(in, "minuscula", true);
  44.         }
  45.         escriu_linia(in, "digit", false);
  46.     }
  47.     else {
  48.         escriu_linia(in, "lletra", false);
  49.         escriu_linia(in, "vocal", false);
  50.         escriu_linia(in, "consonant", false);
  51.         escriu_linia(in, "majuscula", false);
  52.         escriu_linia(in, "minuscula", false);
  53.         escriu_linia(in, "digit", false);
  54.     }
  55. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement