En este post tenemos un ejemplo de TAD con su código fuente completo debidamente comentado para que podáis copiarlo y usarlo sin problemas y así comprender mejor su funcionamiento. Cualquier duda o cosa que queráis no dudéis en ponerla en los comentarios.
/* Interfaz del módulo */
/*************************************************/
#pragma once
/********************************
Definicion del tipo abstracto
********************************/
/*
TAD: Tipo abstracto de datos-->
Agrupacion de
una coleccion de valores
+
operaciones de manipulacion */
/******************************/
typedef struct TPunto {
void Leer();
void Escribir();
float Distancia(TPunto p );
/*OCULTACION DE INFORMACION */
private:
float x;
float y;
};
================================================================
================================================================
================================================================
#include <stdio.h>
#include <math.h>
#include "mod.h"
/******************************/
/* Implementacion del tipo abstracto */
/******************************/
void TPunto::Leer()
{
printf("Dame las coordenadas del punto (x,y)");
scanf(" (%g , %g)", &x, &y);
}
void TPunto::Escribir(){
printf(" (%g , %g)", x, y);
}
float TPunto::Distancia (TPunto p){
float dis_x, dis_y;
dis_x= x-p.x;
dis_y= y-p.y;
return sqrt (dis_x*dis_x + dis_y*dis_y);
}
================================================================
================================================================
================================================================
#include "mod.h"
int main(){
TPunto a, b;
a.Leer();
b.Leer();
printf(" Veamos lo leido \n");
a.Escribir();
b.Escribir();
printf("\n distancia = %g \n", a.Distancia(b));
No hay comentarios:
Publicar un comentario