How can we use gotoxy statement in dev C++?

How can we use gotoxy statement in dev C++?
Pretty much the same as using it in MS Visual C++ Express, except you don't need using namespace Sysyem;. Here's a small demo of using the command gotoXY() in Dev-CPP v5.2.0.0, that compiles and runs.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
#include <stdio.h>
#include "conio.h"
#include <iostream>
#include <windows.h>


using namespace std;

HANDLE console = GetStdHandle(STD_OUTPUT_HANDLE);
COORD CursorPosition;

void gotoXY(int x, int y); 

void WaitKey();


int main()
{
   int x = 1;// Column 1
   int y = 5;// Row 5
   // Start position of the text 

   gotoXY(24,2); // Placing title
   cout <<   "gotoXY(x,y) Demonstration..";

   for (x=1;x<27;x++)  // Moves the text to the right
   {
      gotoXY(x,y);
      cout << "* column " << x <<  ", row " << y << "!";

      Sleep(200);
      gotoXY(x,y); // Locate the asterisk
	  cout << " "; // Remove it from screen, so we don't have a trail of asterisks
   }
   x--; // Remove 1 from x, so we start where the text is now located

   for (y=5;y<23;y++) // Moves the text down the screen
   {
      Sleep(200);
      gotoXY(x,y);
	  cout << "                                   "; // Remove the line of text
      Sleep(200);
      gotoXY(x,y+1);
      cout << "* column " << x << ", row " << y+1 << "!"; // Print new text line
   }
   Sleep(800);
   for (y=23;y>8;y--) // Moves text up the screen to row 8
   {
      Sleep(200);
      gotoXY(x,y);
	  cout << "                                   ";
      Sleep(200);
      gotoXY(x,y-1);
      cout << "* column " << x << ", row " << y-1 << "!";
   }

   Sleep(1000); // Program finished, wait 1 second
   gotoXY(23,24);
   cout << "Press any key to continue . . ."; // Let user know we're done
   gotoXY(23,24); // Cursor to blink on the letter 'P' of 'Press.. ', above
   WaitKey();  // Wait for a keypress
   return 0;
}

void gotoXY(int x, int y) 
{ 
CursorPosition.X = x; // Locates column
CursorPosition.Y = y; // Locates Row
SetConsoleCursorPosition(console,CursorPosition); // Sets position for next thing to be printed 
}

void WaitKey()
{
   while (_kbhit()) _getch(); // Empty the input buffer
   _getch(); // Wait for a key
   while (_kbhit()) _getch(); // Empty the input buffer (some keys sends two messages)
}
Last edited on
Topic archived. No new replies allowed.