Do While loop is not working?? Help would be greatly appreciated.
in my program. my do-while loop is not working and I have no idea why. All i wanted the do-while loop to do is to alleviate the need for the user to re-run the program when he wants to enter another number.  Any help please?

    #include<iostream>
    #include<string>
    double tester;
    using namespace std;
    double squarerootfinder(double number, double divisor){
        tester = (number / (divisor * divisor ));
        if(divisor == 1){
                return 1;
         }
         else{
                 if(tester != (int)tester )

                divisor = squarerootfinder(number, divisor - 1);
                }
        return divisor;
        }
    int main(){
        string runagain;
        double number, divisor, squareroot, insidepart;
    
    do{    
         cout << "Enter a whole number to find the square root of it \n";
         cin >> number;
         divisor = number;
         squareroot = squarerootfinder(number, divisor);
         insidepart = number / (squareroot * squareroot);
         if(insidepart != 1){
              cout << squareroot << (char)251 << insidepart;
              cout << endl;
         }
         else{
              cout << squareroot << endl;                  
         }
         string runagain;
         cout << "written by Arpan Gupta! \n";
         cout << "Enter run again to run the program again. \n";
         cin >> runagain;
         }while(runagain == "run again" || runagain == "RUN AGAIN");             
         return 0;
    }
Do While loop is not working?? Help would be greatly appreciated.
===

in my program. my do-while loop is not working and I have no idea why. All i wanted the do-while loop to do is to alleviate the need for the user to re-run the program when he wants to enter another number.  Any help please?

    #include<iostream>
    #include<string>
    double tester;
    using namespace std;
    double squarerootfinder(double number, double divisor){
        tester = (number / (divisor * divisor ));
        if(divisor == 1){
                return 1;
         }
         else{
                 if(tester != (int)tester )

                divisor = squarerootfinder(number, divisor - 1);
                }
        return divisor;
        }
    int main(){
        string runagain;
        double number, divisor, squareroot, insidepart;
    
    do{    
         cout << "Enter a whole number to find the square root of it \n";
         cin >> number;
         divisor = number;
         squareroot = squarerootfinder(number, divisor);
         insidepart = number / (squareroot * squareroot);
         if(insidepart != 1){
              cout << squareroot << (char)251 << insidepart;
              cout << endl;
         }
         else{
              cout << squareroot << endl;                  
         }
         string runagain;
         cout << "written by Arpan Gupta! \n";
         cout << "Enter run again to run the program again. \n";
         cin >> runagain;
         }while(runagain == "run again" || runagain == "RUN AGAIN");             
         return 0;
    }