Advertisement
userxbw

Check file Char to ASCII count c++

Aug 25th, 2022 (edited)
767
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.32 KB | None | 0 0
  1. #include <iostream>
  2. #include <fstream>
  3.  
  4. using namespace std;
  5.  
  6. int whatever(char &c){
  7. // ascii 0-127
  8. for (int i=0;i<=127;i++)
  9.   if((int)c==i)
  10.     return 1;
  11. return 0;
  12. }
  13.  
  14. int main(){
  15. string afile;
  16. cout<<"enter a filename ";
  17. cin>>afile;
  18. ifstream f(afile);
  19. char p;
  20. /* using the ASCII Table decimal */
  21.   if(f.is_open()){
  22.     int space=0,spec1=0,spec2=0,
  23.     spec3=0,spec4=0,nums=0,
  24.     caps=0,low=0,newline=0,total=0;
  25.     while (f.get(p))
  26.     {
  27.     switch(p){
  28.     case 10: // line feed/new line
  29.     newline+=1;
  30.     break;
  31.     case 32: // space
  32.     space+=1;
  33.     break;
  34.     case 33 ... 47: // special chars
  35.     spec1+=1;
  36.      break;
  37.     case 48 ... 57: // 0-9
  38.     nums+=1;
  39.     break;
  40.     case 58 ... 64: // special chars
  41.     spec2+=1;
  42.     break;
  43.     case 65 ... 90: // caps lettera
  44.     caps+=1;
  45.     break;
  46.     case 91 ... 96: // special chars
  47.     spec3+=1;
  48.     break;
  49.     case 97 ... 122: // lower case letters
  50.     low+=1;
  51.     break;
  52.     case 123 ... 126: // special chars
  53.     spec4+=1;
  54.     break;
  55.         }
  56.    if(whatever(p))
  57.         total+=1;
  58.       } // end while
  59.  
  60.     cout<<"\n"
  61.     <<"newline= "<<newline<<"\n"
  62.     <<"space= "<<space<<"\n"
  63.     <<"captial letters="<<caps<<"\n"
  64.     <<"lower case="<<low<<"\n"
  65.     <<"special chars="<<(spec1+spec2+spec3+spec4)<<"\n"
  66.     <<"numbers 0-9 ="<<nums<<"\n"
  67.     <<"total= "<<total<<endl;
  68.  
  69.   } else {cout<<"something went wrong!"<<endl;}
  70.  
  71. f.close();
  72.  
  73. return 0;
  74. }
  75.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement