1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

Help please: Runtime error... I can't solve

Discussion in 'Programming' started by ashe_ashe, Dec 4, 2009.

  1. ashe_ashe

    ashe_ashe New Member

    Joined:
    Dec 4, 2009
    Messages:
    2
    Likes Received:
    0
    Trophy Points:
    0
    Code:
    
    #include <iostream>
    #include <string>
    #include <cmath>
    #include <conio.h>
    #include <cstdlib>
    
    
    using namespace std;
    
    
    class animal_game{
        public:
                string name(){};
                int leg (){};
    };
    
    //-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
    class bird : public animal_game{
         public:
                string name ()
                 {return (" Bird ");}
    
                int leg ()
                 {return (2);}
               };
    //-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
    class fish : public animal_game{
         public:
                string name ()
                 {return (" Fish ");}
    
                int leg ()
                 {return (0);}
               };
    //-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
    class insect:public animal_game{
         public:
                string name ()
                 {return (" Insect ");}
    
                int leg ()
                 {return (6);}
               };
    //-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
    class play {
        private:
         int pl1,pl2,no,luck;
    
        public:
               animal_game *ani;
    
               play ()
               { srand (time(NULL));
                 pl1=0;
                 pl2=0;
               }
    
               void find_luck()
                {
                    luck=rand()%10;
                    }
    
               void find (){
    
                 no=rand()%3;
    
                 if (no==0)
                     ani=new fish();
                 else if (no==1)
                     ani=new bird();
                 else
                     ani=new insect();
                                }
    
    
    
                int score()
                 {return(luck * ani->leg());}
    
    
                void main_game_play()
                 {
                    int hlp1,hlp2;
                    cout << endl <<" Player 1: Press ENTER to obtain an animal."<< endl ;
                    find_luck();
                    find();
                    hlp1=score();
                    getch();
    
    
                    cout << endl << " Player1 obtained 1  " << ani->name()
                         << " with lucky number  " << luck << ". Total legs = "
                         << score() << endl;
                         pl1 = score()+pl1;
    
    
    
                    cout << endl <<" Player 2: Press ENTER to obtain an animal." <<endl;
                    find_luck();
                    find();
                    hlp2=score();
                    getch();
    
                    cout << endl << " Player 2 obtained 1  " << ani->name()
                         << " with lucky number  " << luck << ". Total legs = "
                         << score() << endl;
                         pl2 = score()+pl2;
    
    
    
                    if (hlp1 > hlp2)
                     {
                      cout << endl <<" Player 1 WIN!" << endl;
                      cout << " Total score (leg count): " <<endl;
                      cout << " Player 1 Score is: " << pl1 << endl
                           << " Player 2 Score is: " << pl2 << endl;
                     }
    
                    else if (hlp1<hlp2)
                     {
                      cout << endl <<" Player 2 WIN!" << endl;
                      cout << " Total score (leg count): " <<endl;
                      cout << " Player 1 Score is: " << pl1 << endl
                           << " Player 2 Score is: " << pl2 << endl;
                     }
    
                    else if (hlp1 == hlp2)
                     {
                      cout << endl << " DRAW!!!" << endl;
                      cout << " Total score (leg count): " <<endl;
                      cout << " Player 1 Score is: " << pl1 << endl
                           << " Player 2 Score is: " << pl2 << endl;
                     }
    
                 }
    
         ~play(){
            if (pl1 == pl2)
                cout << "Draw!\n";
            else if (pl1 > pl2)
                cout << "Winner: Player1. Congrats!\n";
            else
                cout << "Winner: Player2. Congrats!\n";
    
            cout << endl;
            delete ani;
            ani = NULL;
            system("pause");
         }
    
    
    };
    //-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
    int main ()
    {
        play *ply;
        int r,i;
        char ans;
    
        do{
            cout << " How many rounds you want to play -> ";
            cin >> r;
    
            for (i=1;i<=r;i++)
             {cout << "Round #" << i << endl;
              ply->main_game_play();}
    
            cout << " Do you want to continue (Please enter Y (Yes) or N (No)) ->  ";
            cin >> ans;
    
          }while(ans== 'Y' || ans == 'y');
    
          return 0;
    }
    I checked many times (scanning the codes and by using cout to test the output) but I cannot find the error.

    Please help.
     
  2. SaswatPadhi

    SaswatPadhi ~ Б0ЯИ Τ0 С0δЭ ~

    Joined:
    May 5, 2009
    Messages:
    1,343
    Likes Received:
    55
    Trophy Points:
    0
    Occupation:
    STUDENT !
    Location:
    Orissa, INDIA
    Home Page:
    Why then, do you think that your code has any error at all ?

    Why don't u explain your problem ?
    Just posting a "Help me ..." won't fetch you any help.
     
  3. Rise

    Rise New Member

    Joined:
    Dec 27, 2009
    Messages:
    40
    Likes Received:
    0
    Trophy Points:
    0
    Occupation:
    Customer Service for United health cares Medicare
    Location:
    Wichita, KS
    Do you have a image of the origional script. Double check to see if the file is correct in all catogories one wrong thing or one wrong letter will give you that message. I found myself when making scprits that somethimes on the orgional it has a sppace at the top that i dont relize and that usualy fix's it for me. But thats all the info i can give based on the info you provided. Try telling us what system your using what type of file did you put it in that stuff.
     
  4. ashe_ashe

    ashe_ashe New Member

    Joined:
    Dec 4, 2009
    Messages:
    2
    Likes Received:
    0
    Trophy Points:
    0
    Cause it could not compile previously so I had no idea where I went wrong.

    But it's solved. I didn't set my variables in the base class to abstract (well, this I tried before but I got errors... someone else managed to do it correctly for me) and forgot to create an object for the pointer *ply <--this is my biggest mistake.

    But thank you for replying. I appreciate any help since I am still a beginner at this.
     

Share This Page