Hi new member here! i'm having a problem with my code here but I really don't know why, its in the line where i'll comment..

using namespace std;

void convert(char*);

void main(){
    char r, sen[200];

        cout<<"Enter text: ";
        cin.getline(sen, 200);


        cout<<"Try again?[Y/N] ";
    }while(r=='y' || r=='Y');

void convert(char* sen){
    int i, max;
    char temp1, temp2, temp3;

    if(*sen!='a' || *sen!='A' || *sen!='e' || *sen!='E' || *sen!='i' || *sen!='I' ||
        *sen!='u' || *sen!='U' || *sen!='o' || *sen!='U'){ // IN HERE
        for(i=0; *(sen+i)!='\0'; i++);

        temp3 = *sen;
        temp2 = *(sen+i);
        for(; i!=-1; i--){
            temp1 = *(sen+i-1);
            *(sen+i-1) = temp2;
            temp2 = temp1;

        *(sen+max) = temp3;
        *(sen+max) = 'a';
        *(sen+max+1) = 'y';
        *(sen+max+2) = '\0';
        for(i=0; *(sen+i)!='\0'; i++);
        *(sen+i) = 'h';
        *(sen+i+1) = 'a';
        *(sen+i+2) = 'y';
        *(sen+i+3) = '\0';

    for(i=0; *(sen+i)!='\0'; i++)

In that area where I commented is the problem I think, you see even if the statement is false the code still passes through those statements but when I tried to only have one condition in that if statement it worked fine, its just with multiple conditions that it doesn't work normally, why is this?

If at least one of those conditions is true it will pass on to the next set of statements
try using the && operator

if(*sen!='a' || *sen!='A'

This is always true, yes? *sen can't equal both 'a' and 'A', so it must NOT EQUAL at least one of them. Since you have multiple tests with the || operator, if any of them are true, the statement is true. Hence that if statement will always be true. Perhaps you meant to use the && operator or something else?

ofcourse...stupid stupid me...really thanks a lot man..:D