Академический Документы
Профессиональный Документы
Культура Документы
h"
#include <iostream>
using namespace std;
// clase Punto
class Punto{
private:
double x, y;
public:
// funcionalidad basica
double getX(){ return x;}
double getY(){ return y;}
void setX(double nx){ x = nx;}
void setY(double ny){ y = ny;}
// funcionalidad adicional
double distancia(){
return sqrt(pow(x,2)+pow(y,2));
}
void lee(){
// ingresa coordenadas
cout<<"Ingrese x: "; cin>>x;
cout<<"Ingrese y: "; cin>>y;
}
void muestra(){
// muestra coordenadas y distancia
cout<<"resultados:"<<endl;
cout<<"X : "<<getX()<<endl;
cout<<"Y : "<<getY()<<endl;
cout<<"Distancia : "<<distancia()<<endl;
}
};
void main(){
// declara objeto
Punto a[10]; // ARREGLO DE OBJETOS DE TAMAO 10
// lee datos para los 10 objetos
for(int i=0; i<10; i++){
cout<<"Datos para el objeto: "<<i<<": "<<endl;
a[i].lee();
}
// muestra datos de los 10 objetos en forma de tabla
printf("Nro.\tX\tY\tDistancia\n");
for(int i=0; i<10; i++)
printf("%d\t%0.2f\t%0.2f\t%0.2f\n",i,a[i].getX(),a[i].getY(),a[i].distancia());
_gettch();
}
%f float
}
// funciones adicionales
double precioSoles(double tc){
return precio * tc;
}
char * nombreMarca(){
switch(marca){
case 1: return "Sonic";
case 2: return "LG";
case 3: return "Samsung";
case 4: return "Panasonic";
default: return "Otro";
}
}
};
// clase administradora
class ArregloTV{
protected:
TV a[10];// arreglo de objetos tipo TV
int n; // contador
public:
ArregloTV(){
n=0;
}
void agrega(TV t){
a[n] = t;
n++;
}
TV obtiene(int i){
return a[i];
}
int tamao(){ return n;}
int busca(char * serie){
for(int i=0; i<n; i++){
if(strcmp(a[i].getSerie(),serie)==0)
return i; // posicion encontrada
}
return -1; // no lo encuentra
}
void elimina(int p){
for(int i=p; i<n-1; i++)
a[i] = a[i+1];
n--;
}
};
// clase de gestion con menu de opciones
class GestionaTV{
protected:
ArregloTV atv;
public:
int menu();
void nuevo();
void consulta();
void elimina();
void listar1();
void listar2();
void listar3();
void principal();
};
int GestionaTV::menu(){
int opcion;
cout<<"MENU DE OPCIONES: "<<endl;
cout<<"[1] Nuevo "<<endl;
cout<<"[2] Consulta "<<endl;
cout<<"[3] Elimina "<<endl;
cout<<"[4] Lista 1 "<<endl;
cout<<"[5] Lista 2 "<<endl;
cout<<"[6] Lista 3 "<<endl;
cout<<"[0] Fin "<<endl;
cout<<"Ingrese su opcion: ";
cin>>opcion;
return opcion;
}
void GestionaTV::nuevo(){
}
void GestionaTV::consulta(){
}
void GestionaTV::elimina(){
}
void GestionaTV::listar1(){
}
void GestionaTV::listar2(){
}
void GestionaTV::listar3(){
}
void GestionaTV::principal(){
int op;
do{
op=menu();
switch(op){
case 1:
nuevo();
break;
case 2:
consulta();
break;
case 3:
elimina();
break;
case 4:
listar1();
break;
case 5:
listar2();
break;
case 6:
listar3();
break;
}
}while(op!=0);
}
void main()
{
GestionaTV gtv;
gtv.principal();
}