Vous êtes sur la page 1sur 3

UNAD

Curso 301304 Introduccin a la Programacin


Docente: Mirian Benavides R.

UBICACIN DE DATOS EN PANTALLA

Para una mejor ubicacin de los datos en pantalla, se ha diseado una funcin que se ha
denominado gotoxy().
Al incluir esta funcin en un programa se puede controlar el espacio en que se imprimen los datos.
Como se puede observar en el ejemplo siguiente, la funcin utiliza 2 parmetros de tipo entero, el
primero corresponde a la fila y el segundo a la columna (se toma como referencia que la pantalla
tiene 24 filas y 80 columnas).
Una vez incluida en un programa la funcin gotoxy(), puede ser utilizada en cualquier parte de la
codificacin.

#include <iostream>
#include <stdlib.h>
#include <windows.h> /*Libreria para utilizar funciones necesarias para construir la
funcin gotoxy()*/
using namespace std;

//Declaracin de variables globales y llenar datos en tiempo de diseo


int ident[4]={1,2,3,4};
char nombre[4][30]={"Maria Gonzalez","Jose Perez","Adolfo Velez","Ana Solarte"};
int edad[4]={20,40,5,15};
int area[4]={3,3,1,2};

//Declaracin de funciones
void gotoxy(int x, int y);
int menu();
void imprimirDatos();
void ordenarDatosPorEdad();

//Funcin principal main()


int main()
{ int op;
do
{ op=menu();
switch(op)
{ case 1: imprimirDatos();
break;
case 2: ordenarDatosPorEdad();
break;
case 3: system("cls");
cout<<"\n\n\nPROGRAMA FINALIZADO";
cout<<endl<<endl;
system("pause");
break;
}
} while (op!=3);
return 0;
}
UNAD
Curso 301304 Introduccin a la Programacin
Docente: Mirian Benavides R.

/*Funcin para ubicar el cursor


la funcin gotoxy ubica el cursor en una posicin especfica
el primer parmetro indica el nmero de la columna
el segundo parmetro indica el nmero de la fila */
void gotoxy(int x, int y)
{ HANDLE hCon;
hCon = GetStdHandle(STD_OUTPUT_HANDLE);
COORD dwPos;
dwPos.X=x;
dwPos.Y=y;
SetConsoleCursorPosition(hCon,dwPos);
}
//Funcin Men
int menu()
{ int op;
system("cls");
cout<<endl<<" EJEMPLO DE PRESENTACION DE DATOS ALMACENADOS EN VARIOS
ARREGLOS";
cout<<endl<<endl<<"1- Imprimir datos";
cout<<endl<<endl<<"2- Imprimir datos ordenados por edad";
cout<<endl<<endl<<"3- Salir";
cout<<"\n\n\tDigite opcion : ";
cin>>op;
while(op<1 or op>3)
{ cout<<"\n\n\tOpcion incorrecta";
cout<<"\nDigite opcion : ";
cin>>op;
}
return(op);
}
//Funcin para imprimir datos, ubicando los datos en pantalla utilizando gotoxy()
void imprimirDatos()
{ int i;
system("cls");
gotoxy(15,2); cout<<"DATOS REGISTRADOS";
gotoxy(1,4); cout<<"IDENT";
gotoxy(10,4); cout<<"NOMBRE";
gotoxy(40,4); cout<<"EDAD";
gotoxy(45,4); cout<<"AREA";
for(i=0;i<4;i++)
{ gotoxy(1,6+i); cout<<ident[i];
gotoxy(10,6+i); cout<<nombre[i];
gotoxy(40,6+i); cout<<edad[i];
if(area[i]==1)
{ gotoxy(45,6+i); cout<<"INFANTIL"; }
if(area[i]==2)
{ gotoxy(45,6+i); cout<<"ADOLECENTE"; }
if(area[i]==3)
{ gotoxy(45,6+i); cout<<"ADULTO"; }
}
cout<<endl<<endl;
system("pause");
}
UNAD
Curso 301304 Introduccin a la Programacin
Docente: Mirian Benavides R.

//Funcin para ordenar datos de varios arreglos


void ordenarDatosPorEdad()
{ int i,j; // Contadores
int tempIdent,tempEdad,tempArea;
char tempNombre[30]; // Variable para intercambio de contenidos
for (i=0;i<4-1;i++)
{ for (j=0;j<4-1;j++)
{ if (edad[j]>edad[j+1])
{ tempEdad=edad[j];
tempIdent=ident[j];
tempArea=area[j];
strcpy(tempNombre,nombre[j]);
edad[j]=edad[j+1];
ident[j]=ident[j+1];
area[j]=area[j+1];
strcpy(nombre[j],nombre[j+1]);
edad[j+1]=tempEdad;
ident[j+1]=tempIdent;
area[j+1]=tempArea;
strcpy(nombre[j+1],tempNombre);
}
}
}
imprimirDatos();
}

Vous aimerez peut-être aussi