Yeah, Back to my Lyrics database. I have my class all sorted out, works great. Now I am on to my actual program. I started putting songs and lyrics into text files, but it is very time consuming. I only have five cds done, about 60 maybe 70 songs. I plan on having all the 'punk' songs I have ripped on my computer...which totals to 481 at the moment. Side note: I have bought all of these cds... no illegal downloading... just ripping cds I bought. Anywayz, Because this is a fun program and not required, I want to make it the best it can be. (Weird how that works, when it is required...you dont really care to error trap everything...unless it is for you job I guess :-\) So I am using isalpha and isdigit to make sure that what the user enters is the correct data type, because otherwise it throws them in a infinite loop. Well, I got the isalpha to work great...but I cant get isdigit to work. I am wondering if I am using it wrong, or what. I got the syntax and what is exactly does off my Computer Science 120 class website. So I figured it would be correct. Anywayz...enuff talking and more code. Help!

Code:
void ask()
{
    int choice;
    char quit;
    
    cout<<"***************| Epison07's Lyrical Database |***************\n";
    
    do{
    cout<<"\n\nHow would you like to find your lyrics?\n";
    cout<<"1. Search Alphabetically\n2. Search by Group Name\n";
    cout<<"3. Search by Song Title\nChoice : ";
    cin>>choice;
    if(isdigit(choice) == false){
        cout<<"\nInvald choice!\n";
        continue;
    }    

    if(choice == 1)    alpha();
    else if(choice == 2)    group();
    else if(choice == 3)    song();
    else{
        cout<<"\nInvald choice!\n";
        continue;
    }    

    cout<<"\n\nPress any key to continue\nPress 'x' to quit\n";
    cin>>quit;
    if(isalpha(quit) == false) continue;
    }while(quit != 'x');    
    return;
}
Like I said, isalpha works great. But isdigit doesnt seem to work. If I enter a number, it is supposed to return true, otherwise false...correct? Well I dont understand why this dont work. I tried negating(?) the if statement, but that didnt help. If you have a C++ compiler and can help me out with this, that would be great. It has been bugging me for a day or two now.
Thanks in advance
-Ep