Introducción a la Programación Docente: Mirian Benavides

Anuncio
UNAD
Curso 301304 – Introducción a la Programación
Docente: Mirian Benavides R.
UBICACIÓN DE DATOS EN PANTALLA
Para una mejor ubicación de los datos en pantalla, se ha diseñado una función que se ha
denominado gotoxy().
Al incluir esta función en un programa se puede controlar el espacio en que se imprimen los datos.
Como se puede observar en el ejemplo siguiente, la función utiliza 2 parámetros 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 función gotoxy(), puede ser utilizada en cualquier parte de la
codificación.
#include <iostream>
#include <stdlib.h>
#include <windows.h> /*Libreria para utilizar funciones necesarias para construir la
función gotoxy()*/
using namespace std;
//Declaración de variables globales y llenar datos en tiempo de diseño
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};
//Declaración de funciones
void gotoxy(int x, int y);
int menu();
void imprimirDatos();
void ordenarDatosPorEdad();
//Función 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 – Introducción a la Programación
Docente: Mirian Benavides R.
/*Función para ubicar el cursor
la función gotoxy ubica el cursor en una posición específica
el primer parámetro indica el número de la columna
el segundo parámetro indica el número 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);
}
//Función 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);
}
//Función 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 – Introducción a la Programación
Docente: Mirian Benavides R.
//Función 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();
}
Descargar