{
printf("%c||", i + 65);
for (j = 0; j < VERNUM; j++)
if (data[i][j].dis > 0)
printf(" ", j + 65, data[i][j].dis);
printf("\n");
}
PrintRoutData();
getch();
for (i = 0; i < VERNUM; i++)
{
for (m = 0; m < VERNUM; m++)
for (n = 0; n < VERNUM; n++)
data[m][n].flag = 0;
Exchange();
PrintRoutData();
getch();
}
printf("\nexchange the route table:\n");
return 0; }
void welcome() {
int gdriver=DETECT,gmode;
registerbgidriver(EGAVGA_driver);
initgraph( &gdriver, &gmode,"C:\Win-TC");
cleardevice();
setbkcolor(CYAN);
setviewport(0,0,639,479,1);
clearviewport();
setbkcolor(BLUE);
setcolor(14);
rectangle(200,200,440,280);
setfillstyle(1,5);
floodfill(300,240,14);
settextstyle(0,0,2);
outtextxy(50,30,"Distance Vector Routing Algorithm");
setcolor(15);
settextstyle(1,0,4);
outtextxy(260,214,"Welcome to use!");
line(0,80,640,80);
getch();
delay(300);
cleardevice(); } void InitRoutData(FILE* pfile) {
char num[10];
int i = 0;
char c;
int m, n;
fseek(pfile, 0, 0);
for (m = 0; !feof(pfile) && m < 7; m++)
{
for (n = 0; !feof(pfile) && n < 7; n++)
{
while (!feof(pfile))
{
c = fgetc(pfile);
if (c == ',')
{
num[i] = '\0';
data[m][n].dis = atoi(num);
data[m][n].flag = 0;
data[m][n].flag = 0;
i = 0;
break;
} /*end of if*/
else if ((c >= '0' && c <= '9') || c == '-')
{
num[i++] = c;
} /*end of else if*/
} /*end of while*/
} /*end of for (n = 0*/
} /*end of for (m = 0*/ }
void PrintRoutData() {
int i, j;
for (i = 0; i < VERNUM; i++)
{