How do I bounce a star around the screen using gotoxy ?

I tried the follwing but it doesn't work after sometime:
PHP Code:
#include <stdio.h>
#include <conio.h>
#include <dos.h>

struct gamecomponent
{
    
int bufxbufy;
    
int oldxoldy;
    
int newxnewy;
    
int speed;
    
//void resetcoords();
ballpaddle;

void gamecomponent :: resetcoords()
{
    
oldx bufx;
    
oldy bufy;
    
bufx newx;
    
bufy newy;
}

void changecoordball()
{
    
int xaddyadddepvar=0;

    if (
ball.newx >= 80)
    {
        
xadd = -ball.speed;
        
depvar 1;
    }

    if (
ball.newx <= 0)
    {
        
xadd ball.speed;
        
depvar 1;
    }

    if (
ball.newy >= 25)
    {
        
yadd = -ball.speed;
        
depvar 1;
    }

    if (
ball.newy <= 0)
    {
        
yadd ball.speed;
        
depvar 1;
    }

    if (
ball.newy == paddle.newy)
    {
        if (
ball.newx >= paddle.newx && ball.newx <= (paddle.newx 3))
        {
            
xadd = -ball.speed;
            
depvar 1;
        }

        if (
ball.newx > (paddle.newx 3) && ball.newx <= (paddle.newx 7))
        {
            
xadd ball.speed;
            
depvar 1;
        }
    }

    if (
depvar != 1)
    {
        
xadd 1;
        
yadd 1;
    }

    
ball.newx ball.newx xadd;
    
ball.newy ball.newy yadd;
}

void changecoordpaddle(int direction)
{
    
int delx;

    if (
direction == 1)
    {
        
delx paddle.speed;
    }
    else
    {
        
delx = -paddle.speed;
    }

    
paddle.newx paddle.newx delx;
}

void initialize()
{
    
ball.bufx 1;
    
ball.bufy 1;
    
ball.newx 1;
    
ball.newy 1;
    
ball.oldx 1;
    
ball.oldy 1;
    
ball.speed 2;

    
paddle.bufx 1;
    
paddle.bufy 25;
    
paddle.newx 1;
    
paddle.newy 25;
    
paddle.oldx 1;
    
paddle.oldy 25;
    
paddle.speed 1;
}

void placeball()
{
    
gotoxy(ball.oldxball.oldy);
    
printf(" ");
    
gotoxy(ball.newxball.newy);
    
printf("*");
}

void placepaddle()
{
    
gotoxy(paddle.oldxpaddle.oldy);
    
printf("       ");
    
gotoxy(paddle.newxpaddle.newy);
    
printf("=======");
}

int checkbounce()
{
    
int bounceval 1;

    if (
ball.newy == paddle.newy)
    {
        if (
ball.newx paddle.newx || ball.newx > (paddle.newx 7))
        {
            
bounceval 0;
        }
    }

    return 
bounceval;
}


main()
{
    
clrscr();
    
initialize();

    while (
== 1)
    {
        
changecoordball();
        
resetcoordsball();
        
placeball();
        
delay(100);
        while (
kbhit())
        {
            return 
0;
        }
    }
    

Any help is appreciated.

COOL PROGRAMS @ www.akilla.tk