Está en la página 1de 3

Ejercicio

Cisneros Gaspar José Manuel


Escuela Superior de Ingeniería Mecánica y Eléctrica “Unidad Zacatenco”
jmcg1220@gmail.com
Código fuente
#include <iostream>
#include <conio.h>
#include <stdio.h>
#include <cstdlib>
#include <cstdlib>

using std::cout;
using std::cin;
using std::endl;

class Curva3D
{
struct Punto
{
int x,y,z;
};

Punto* ptrCoordenada;
int n;

Punto* resmem(int n)
{
Punto* ptr=(Punto*)calloc(n,sizeof(Punto));
return ptr;
}

public:
void leer(int);
void imprimir(void);
void eliminar(void);
Apuntadores en estructuras Estructuras y Base de Datos, ESIME Zacatenco, 2021-1

};

void Curva3D::leer(int n)
{

int i;
int c=1;
Punto* ptr;
ptrCoordenada=resmem(n);
if(ptrCoordenada==NULL)
{
cout<<"Error de asignacion"<<endl;
exit(-1);
}

this->n=n;

for(ptr=ptrCoordenada;ptr<ptrCoordenada+n;ptr++)
{
cout<<endl<<"Coordenada "<<c<<": "<< endl;
cout<<"x:";cin>>ptr->x;
cout<<"y:";cin>>ptr->y;
cout<<"z:";cin>>ptr->z;
c++;
}
cout<<endl;
}

void Curva3D::imprimir(void)
{
for(int i=0;i<n;i++)
{
cout<<"P"<<i+1<<" "<<"("<<(ptrCoordenada+i)-
>x<<","<<(ptrCoordenada+i)->y<<","<<(ptrCoordenada+i)->z<<")"<<endl;
}
}

void Curva3D::eliminar(void)
{
cout<<endl<<"Eliminando curva de "<<n<<" puntos ..."<<endl;
free(ptrCoordenada);
cout<<endl<<"Curva eliminada"<<endl;
cout<<endl<<n*sizeof(Punto)<<" bytes liberados"<<endl;
Apuntadores en estructuras Estructuras y Base de Datos, ESIME Zacatenco, 2021-1

int main()

{
int n;
char p;
Curva3D *Coordenada;
Coordenada=new Curva3D[n];
system("color F0");
do
{
system("cls");
cout<<"Coordenadas: "; cin>>n;
Coordenada->leer(n);
Coordenada->imprimir();
Coordenada->eliminar();
cout<<endl<<endl<<"\250Desea repetir el programa? [Si(S)/No(N)]: ";
p=getch();

}
while (p=='s' || p=='S');
}
Capturas del programa

También podría gustarte