I have here a simple program...

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

int main()
{
	system("cls");

	welcome_scr();
	authentication_func();
	exit_scr();

	return 0;
}

int welcome_scr()
{
	int x;
	char spinstr[] = "|/-\\|";

	system("cls");

	do {

	x = 0;
	while(x < 5)
	{
		gotoxy(9,10); printf("%c", spinstr[x]);
		gotoxy(18,10); printf("%c", spinstr[x]);
		gotoxy(27,10); printf("%c", spinstr[x]);
		gotoxy(36,10); printf("%c", spinstr[x]);
		gotoxy(45,10); printf("%c", spinstr[x]);
		gotoxy(54,10); printf("%c", spinstr[x]);
		gotoxy(63,10); printf("%c", spinstr[x]);
		gotoxy(72,10); printf("%c", spinstr[x]);

		gotoxy(10,10); printf("========");
		gotoxy(19,10); printf("========");
		gotoxy(28,10); printf("========");
		gotoxy(37,10); printf("========");
		gotoxy(46,10); printf("========");
		gotoxy(55,10); printf("========");
		gotoxy(64,10); printf("========");


		gotoxy(9,12); printf("%c", spinstr[x]);
		gotoxy(18,12); printf("%c", spinstr[x]);
		gotoxy(27,12); printf("%c", spinstr[x]);
		gotoxy(36,12); printf("%c", spinstr[x]);
		gotoxy(45,12); printf("%c", spinstr[x]);
		gotoxy(54,12); printf("%c", spinstr[x]);
		gotoxy(63,12); printf("%c", spinstr[x]);
		gotoxy(72,12); printf("%c", spinstr[x]);

		gotoxy(10,12); printf("========");
		gotoxy(19,12); printf("========");
		gotoxy(28,12); printf("========");
		gotoxy(37,12); printf("========");
		gotoxy(46,12); printf("========");
		gotoxy(55,12); printf("========");
		gotoxy(64,12); printf("========");

		gotoxy(7,11); printf("<");
		gotoxy(74,11); printf(">");

		gotoxy(31,11); printf("Welcome to ABC v1.0");

		delay(2500);
		x++;
	}

	}while(!kbhit());

	getch();
	return 0;
}

int authentication_func()
{
	char passcode[20];

	do {

	system("cls");

	printf("\n\n\tEnter the passcode: ");
	gets(passcode);

	if(!strcmp(passcode, "123"))
	{
		system("cls");
		printf("\n\n\tAuthenticated.");
	}

	if(strcmp(passcode, "123"))
	{
		system("cls");
		printf("\n\n\tIncorrect!! Please try again.");
		getch();
	}

	}while(strcmp(passcode, "123"));

	getch();
	return 0;
}

int exit_scr()
{
	int x;

	system("cls");

	x = 0;
	while(x < 2)
	{
		gotoxy(9,10); printf("BYE-BYE");
		delay(2500);
		x++;
		gotoxy(9,10); printf(" BYE-BYE");
		delay(2500);
		x++;
		gotoxy(9,10); printf("  BYE-BYE");
		delay(2500);
		x++;
		gotoxy(9,10); printf("   BYE-BYE");
        delay(2500);
		x++;
		gotoxy(9,10); printf("     BYE-BYE");
		delay(2500);
		x++;
		gotoxy(9,10); printf("      BYE-BYE");
		delay(2500);
		x++;
		gotoxy(9,10); printf("       BYE-BYE");
		delay(2500);
		x++;
		gotoxy(9,10); printf("        BYE-BYE");
		delay(2500);
		x++;
		gotoxy(9,10); printf("         BYE-BYE");
		delay(2500);
		x++;
		gotoxy(9,10); printf("          BYE-BYE");
		delay(2500);
		x++;
		gotoxy(9,10); printf("           BYE-BYE");
		delay(2500);
		x++;
		gotoxy(9,10); printf("            BYE-BYE");
		delay(2500);
		x++;
		gotoxy(9,10); printf("             BYE-BYE");
		delay(2500);
		x++;
		gotoxy(9,10); printf("              BYE-BYE");
		delay(2500);
		x++;
		gotoxy(9,10); printf("               BYE-BYE");
		delay(2500);
		x++;
		gotoxy(9,10); printf("                BYE-BYE");
		delay(2500);
		x++;
		gotoxy(9,10); printf("                 BYE-BYE");
		delay(2500);
		x++;
		gotoxy(9,10); printf("                  BYE-BYE");
		delay(2500);
		x++;
		gotoxy(9,10); printf("                   BYE-BYE");
		delay(2500);
		x++;
		gotoxy(9,10); printf("                    BYE-BYE");
		delay(2500);
		x++;
		gotoxy(9,10); printf("                     BYE-BYE");
		delay(2500);
		x++;
		gotoxy(9,10); printf("                      BYE-BYE");
		delay(2500);
		x++;
		gotoxy(9,10); printf("                       BYE-BYE");
		delay(2500);
		x++;
		gotoxy(9,10); printf("                        BYE-BYE");
		delay(2500);
		x++;
		gotoxy(9,10); printf("                         BYE-BYE");
		delay(2500);
		x++;
                gotoxy(9,10); printf("                         BYE-BYE");
		delay(2500);
		x++;
		gotoxy(9,10); printf("                                 ");
		delay(2500);
		x++;
		gotoxy(9,10); printf("                         BYE-BYE");
		delay(2500);
		x++;
                gotoxy(9,10); printf("                                 ");
		delay(2500);
		x++;
		gotoxy(9,10); printf("                         BYE-BYE");
		delay(2500);
		x++;
		gotoxy(9,10); printf("                                 ");
		delay(2500);
		x++;
		gotoxy(9,10); printf("                         BYE-BYE");
		delay(2500);
		x++;
		gotoxy(9,10); printf("                                 ");
		delay(2500);
		x++;
		gotoxy(9,10); printf("                         BYE-BYE");
		delay(2500);
		x++;
                gotoxy(9,10); printf("                                 ");
		delay(2500);
		x++;
		gotoxy(9,10); printf("                         BYE-BYE");
		delay(2500);
		x++;
                gotoxy(9,10); printf("                                 ");
		delay(2500);
		x++;
		gotoxy(9,10); printf("                         BYE-BYE");
		delay(2500);
		x++;
		gotoxy(9,10); printf("                                 ");
		delay(2500);
		x++;
		gotoxy(9,10); printf("                         BYE-BYE");
		delay(2500);
		x++;
		gotoxy(9,10); printf("                                 ");
		delay(2500);
		x++;
		gotoxy(9,10); printf("                         BYE-BYE");
		delay(2500);
		x++;
                gotoxy(9,10); printf("                                 ");
		delay(2500);
		x++;
		gotoxy(9,10); printf("                         BYE-BYE");
		delay(2500);
		x++;
                gotoxy(9,10); printf("                                 ");
		delay(2500);
		x++;
		gotoxy(9,10); printf("                         BYE-BYE");
		delay(2500);
		x++;
		gotoxy(9,10); printf("                                 ");
		delay(2500);
		x++;
		gotoxy(9,10); printf("                         BYE-BYE");
		delay(2500);
		x++;
		gotoxy(9,10); printf("                                 ");
		delay(2500);
		x++;
		gotoxy(9,10); printf("                         BYE-BYE");
		delay(2500);
		x++;
                gotoxy(9,10); printf("                                 ");
		delay(2500);
		x++;
		gotoxy(9,10); printf("                         BYE-BYE");
		delay(2500);
		x++;
                gotoxy(9,10); printf("                                 ");
		delay(2500);
		x++;
		gotoxy(9,10); printf("                         BYE-BYE");
		delay(2500);
		x++;
		gotoxy(9,10); printf("                                 ");
		delay(2500);
		x++;
		gotoxy(9,10); printf("                         BYE-BYE");
		delay(2500);
		x++;
		gotoxy(9,10); printf("                                 ");
		delay(2500);
		x++;
		gotoxy(9,10); printf("                         BYE-BYE");
		delay(2500);
		x++;
	}

	sleep(2);
	return 0;
}
My question is.... How can I make the program portable, at the same time, retaining the way it runs...? I mean, those gotoxy()'s there, the textcolor()'s, and getch()'s... I know that these belong to the conio.h... and people say that it's not portable if I use conio.h...

...please give alternatives... and if you can give some tips, like simplifying my code(especially on that "BYE-BYE" thing there).. I'd really appreciate it.. thanks in advance... -_+