C++ while loop, using if else statements to count in an array -
i'm having trouble basic c++ program assignment, , appreciate help. assignment follows:
write program accepts input keyboard (with input terminated pressing enter key) , counts number of letters (a-z , a-z), numerical digits (0-9), , other characters. input string using cin , use following looping structure examine each character in string "if" statement , multiple "else if" statements.
my program far is:
#include <iostream> using namespace std; int main() { char s[50]; int i; int numlet, numchars, otherchars = 0; cout << "enter continuous string of characters" << endl; cout << "(example: abc1234!@#$%)" << endl; cout << "enter string: "; cin >> s; = 0; while (s[i] != 0) // while character not have ascii code 0 { if ((s[i] >= 'a' && s[i] <= 'z') || s[i] >= 'a' && (s[i] <= 'z')) {numlet++; } else if (s[i] >= 48 && s[i] <= 57) {numchars++; } else if ((s[i] >= 33 && s[i] <= 4) || (s[i] >= 58 && s[i] <=64) || (s[i] >= 9 && s[i] <= 96) || (s[i] >= 123 && s[i] <= 255)) {otherchars++; } i++; } cout << numlet << " letters" << endl; cout << numchars << " numerical characters" << endl; cout << otherchars << " other characters" << endl; return 0; }
the letter count gives value little low, , number count gives large negative number. other chars seems function fine.
as mentioned in other answer, need initialize variables, have error in code:
if ((s[i] >= 'a' && s[i] <= 'z') || s[i] >= 'a' && (s[i] <= 'z'))
the brackets wrong. , result, not counting lowercase letters (i think) anyways shoul (indented visibility):
if ( (s[i] >= 'a' && s[i] <= 'z') || (s[i] >= 'a' && s[i] <= 'z') )
you can use this. since you're using c++ , not c, right ;) (people here mad difference apparently)
Comments
Post a Comment