home *** CD-ROM | disk | FTP | other *** search
/ io Programmo 27 / IOPROG_27.ISO / SOFT / CCARACT.ZIP / ccaracte.cpp next >
Encoding:
C/C++ Source or Header  |  1998-03-10  |  2.7 KB  |  162 lines

  1. #include "afx.h"
  2. #include "ccaracte.hpp"
  3.  
  4. CCaractere::CCaractere()
  5. {
  6.  car = '\0';
  7. }
  8.  
  9. CCaractere::CCaractere( char tcar )
  10. {
  11.  car = tcar;
  12. }
  13.  
  14. CCaractere::~CCaractere()
  15. {
  16. }
  17.  
  18. CCaractere::operator=( char tcar )
  19. {
  20.  car = tcar;
  21.  return(car);
  22. }
  23.  
  24. CCaractere::operator=( CCaractere tccar )
  25. {
  26.  car = tccar.Valeur();
  27.  return(car);
  28. }
  29.  
  30. bool CCaractere::EstLettre()
  31. {
  32.  return( ( car >= 'A' && car <= 'Z' ) || ( car >= 'a' && car <= 'z' ) );
  33. }
  34.  
  35.  
  36. bool CCaractere::EstChiffre()
  37. {
  38.  return( ( car >= '0' && car <= '9' ) );
  39. }
  40.  
  41. bool CCaractere::EstSigneMathematique()
  42. {
  43.  return( car == '+' || car == '-' || car == '/' || car == '*' );
  44. }
  45.  
  46. bool CCaractere::EstPonctuation()
  47. {
  48.  return( car == ',' ||
  49.          car == ';' ||
  50.          car == ':' ||
  51.          car == '.' ||
  52.          car == '?' ||
  53.          car == '!'
  54.          );
  55. }
  56.  
  57. bool CCaractere::EstFinDeLigne()
  58. {
  59.  return( car == '\n' || car == '\r'  );
  60. }
  61.  
  62. bool CCaractere::EstMot()
  63. {
  64.  return( EstLettre() || car == '_' || car == '\'' );
  65. }
  66.  
  67. bool CCaractere::EstDate()
  68. {
  69.  return( EstChiffre() || car == '/' );
  70. }
  71.  
  72. bool CCaractere::EstNom()
  73. {
  74.  return( EstLettre() || car == ' ' || car == '-' );
  75. }
  76.  
  77. bool CCaractere::EstEnglobant()
  78. {
  79.  return( car == '{' || car == '}' ||
  80.          car == '[' || car == ']' ||
  81.          car == '(' || car == ')'
  82.          );
  83. }
  84.  
  85. bool CCaractere::EstDuType ( Type t )
  86. {
  87.  switch(t)
  88.  {
  89.   case Lettre :
  90.    return(EstLettre());
  91.   case Chiffre :
  92.    return(EstChiffre());
  93.   case SigneMathematique :
  94.    return(EstSigneMathematique());
  95.   case Ponctuation :
  96.    return(EstPonctuation());
  97.   case Mot :
  98.    return(EstMot());
  99.   case FinDeLigne :
  100.    return(EstFinDeLigne());
  101.   case Englobant :
  102.    return(EstEnglobant());
  103.   case Nom :
  104.    return(EstNom());
  105.   case Date :
  106.    return(EstDate());
  107.  }
  108.  return(false);
  109. }
  110.  
  111. char CCaractere::Valeur()
  112. {
  113.  return(car);
  114. }
  115.  
  116. CCaractere::operator==( char tcar )
  117. {
  118.  return(car == tcar);
  119. }
  120.  
  121. CCaractere::operator==( CCaractere tccar )
  122. {
  123.  return(car == tccar.Valeur());
  124. }
  125.  
  126. CCaractere::operator!=( char tcar )
  127. {
  128.  return(car != tcar);
  129. }
  130.  
  131. CCaractere::operator!=( CCaractere tccar )
  132. {
  133.  return(car != tccar.Valeur());
  134. }
  135.  
  136. CString CCaractere::TexteDuType( Type t )
  137. {
  138.  switch(t)
  139.  {
  140.   case Lettre :
  141.    return("lettre");
  142.   case Chiffre :
  143.    return("chiffre");
  144.   case SigneMathematique :
  145.    return("signe mathΘmatique");
  146.   case Ponctuation :
  147.    return("ponctuation");
  148.   case Mot :
  149.    return("mot");
  150.   case FinDeLigne :
  151.    return("fin de ligne");
  152.   case Englobant :
  153.    return("englobant");
  154.   case Nom :
  155.    return("blanc, tiret ou lettre");
  156.   case Date :
  157.    return("caractΦres de date");
  158.  }
  159.  return(false);
  160. }
  161.  
  162.