c++ - Can someone help me debug this program -
here code far, think doing job right , believe problem arrays.
#include <iostream> #include <cctype> #include <fstream> using namespace std; const char filename[] = "text.txt"; int main() { string line; ifstream inmystream(filename); int c; int uppercasecount[26] = { 0 }; int lowercasecount[26] = { 0 }; char oneletter; if (inmystream.is_open()) { while (getline(inmystream, line)) { c += line.length(); } (unsigned n = 0; n < line.length(); ++n) { oneletter = char(line[n]); if (oneletter >= 'a' && oneletter <= 'z') { uppercasecount[int(oneletter) - 'a']++; } else if (oneletter >= 'a' && oneletter <= 'z') { lowercasecount[int(oneletter) - 'a']++; } } } inmystream.close(); cout << "uppercase characters: " << uppercasecount << endl; cout << "lowercase characters: " << lowercasecount <<endl; cout << "digits: " << c << endl; return 0; }
here's output i'm getting--->
c:\users\house\desktop\lab11>test
uppercase characters: 0x28fcf4
lowercase characters: 0x28fd5c
digits: 1959532772
c:\users\house\desktop\lab11>
here working example counting uppercases lowercases , numbers
#include <iostream> #include <cctype> #include <fstream> using namespace std; const char filename[] = "text.txt"; int main() { string line; ifstream inmystream(filename); int c=0;//counts digits int uppercount=0;//counts uppercases int lowercount=0;//counts lowercases char oneletter; if (inmystream.is_open()) { while (getline(inmystream, line)) { (unsigned n = 0; n < line.length(); ++n) { oneletter = line[n]; if (oneletter >= 'a' && oneletter <= 'z') { uppercount++; } else if (oneletter >= 'a' && oneletter <= 'z') { lowercount++; } else if (oneletter >= '0' && oneletter <= '9'){ c++; } } } } inmystream.close(); cout << "uppercase characters: " << uppercount << endl; cout << "lowercase characters: " << lowercount <<endl; cout << "digits: " << c << endl; return 0; }
hope helped ;)
Comments
Post a Comment