hi i'm trying to write a program that increases numbers when the 'space' key is pressed and held down, stops increasing when the space key up. I got the numbers incrementing when a user presses the space key once and to stop when the space key is pressed again but i need to have it so that the numbers increment while the space key is held down and stops incrementing when the user stops pressing the space key...below is my program. any help would be appreiciated thanks (code written in turbo c++ v3 compiler) Thanks to anyone that helps!!!

Code:
#include<conio.h>
#include<stdio.h>
#include<dos.h>
#include<graphics.h>

int SetGraph (void);
void Counter (void);

int main (void)
{
int key;
SetGraph();
setcolor(WHITE);
outtextxy(300,340, "Press Space Bar to deliver fuel");
 key = getch();
while(!kbhit())
  {
  Counter();
  }

}



int SetGraph (void)
{
int gdriver = DETECT, gmode, errorcode, Gworks = 1;
initgraph(&gdriver, &gmode, "\\tc\\bgi");
errorcode = graphresult();
if(errorcode != grOk)
{
		printf("Graphics error: %s\n", grapherrormsg(errorcode));
		printf("Press any key to halt:");
		getch();
		}
		return Gworks;

}

void Counter (void)
{
 char *buf;
 float sale =000.00;
 float litres = 0000.0;


do
{
  setfillstyle(SOLID_FILL,WHITE);
  bar(403,206,560,183);
  setcolor(BLACK);
  settextstyle(DEFAULT_FONT, HORIZ_DIR,3);
  sprintf(buf, "%3.2f",sale);
  outtextxy(408,185,buf);
  delay(150);
  sale+=030.50;

  bar(403,256,560,233); 
  sprintf(buf,"%4.1f",litres); 
  outtextxy(408,235,buf);
  delay(150);
  litres+=444.5;
  bar(403,306,560,283);
  outtextxy(408,285,"72.8 p");

}while(!kbhit());

getch();

return 0;
}
last code had error sorry