counting input characters -- help request - Programmers Heaven

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Categories

counting input characters -- help request

wassupwassup earthPosts: 0Member

Hi,

below program count input letters and numbers, but few things are not going as i planned:

  1. when input like: 33 - it display twice comment instead last count

33
    Chars: 
    Letters: 0
    Numbers: 5
    Chars: 
    Letters: 0
    Numbers: 6
  1. i would like to stop it when last char is repeated 3 times.

can you help please?

`
cout<<"Input letters or numbers.\n";
char zn;

int count_l=0, count_c=0;

while(cin>>zn)
{

    if((zn<=122 && zn>=97) || (zn<=90 && zn>=65))
    {
        ++count_l;

        if(count_l=='3')
        {
            cout<<"Chars: \nLetters: "<<count_l<<endl;
        }
    }
    if(zn<=57 && zn>=48)
    {
        ++count_c;
    }
    cout<<"Chars: \nLetters: "<<count_l<<"\nNumbers: "<<count_c<<endl;
}

return 0;
}

`

Comments

  • pseudocoderpseudocoder Posts: 688Member ✭✭✭

    The odds of count_l being '3' are probably not that high since you've initialized it to zero. It would take 51 characters to satisfy the test condition of count_l == '3'

    I'd try cin.get and use the new line char to display your output of digits and / or characters.

    while(cz = cin.get())
    {
        if(cz >= '0' && cz <= '9')
            ++count_c;
        // letters check
        if(cz == '\n')
        {
            // output digits and / or character count
            // reset count_c and count_l to 0
            // if wanted, check some other var for being '3'
            // or use break; statement here to exit while loop
        }
    }</pre>
    
Sign In or Register to comment.