miércoles, 30 de julio de 2014

Programando en C++ ... no. 4

"Siempre programo como si la persona que mantendrá mi código fuera un psicópata que sabe donde vivo."  
::Martin Golding::

 Ejercicios de programación
 1. En este ejemplo vamos a crear y usar un archivo de cabecera (se guardan con la extensión *.h). Ahí escribiremos las variables, constantes y funciones.
//archivo: funciones.h

#ifndef __CABECERA_H
#define __CABECERA_H

#define MAX 3   //podemos crear una variable constante con valor de 3
#define PULSACIONES (e) (220-e)/15  //una función para calcular las pulsaciones de una persona 
using std::cout;
using std::endl;

//también podemos escribir funciones de manea tradicional
void mensaje(){
    cout<<"Este es un simple mensaje"<<endl;
}

#endif /*__CABECERA_H*/

¿Cómo se puede usar?
Creamos un archivo llamado prueba.cpp y declaramos el archivo de cabecera funciones.h.
//archivo:prueba.cpp
#include "funciones.h"
#include "iostream"

using namespace std;

int main(){
    int numeros[MAX];
    numeros[0]=9;
    numeros[1]=21;
    numeros[2]=54; //al tratar de recorrer el vector provoca un bug
    mensaje(); 
   //obtener pulsaciones de una persona de 43 años de edad
    cout<<"Pulsaciones: "<<PULSACIONES(43)<<endl;
   return 0;
}
 
2. Al programar en C++ tenemos la ventaja de la programación funcional y la orientada a objetos, en este ejemplo escribiremos:
  •  Un archivo (funcional.cpp) que usa funciones para obtener el perímetro y área de un circulo
  • Un archivo de cabecera que contendrá las funciones: perimetro() y area()
  • Otro archivo (objeto.cpp) que instancia una clase que posee los métodos para obtener lo mismo
//archivo de cabecera: funciones.h
#ifndef __CABECERA_H
#define __CABECERA_H
#define PI 3.14159

double perimetro(double d){
    return PI*d;
}

double area(double r){
    return PI*(r*r);
}


#endif /*__CABECERA_H*/

//funcional.cpp
#include "iostream"
#include "funciones.h"

using namespace std;
 
int main(){
   double radio=0.0,diametro=0.0;
    cout<<"Introduce radio: ";
    cin>>radio;
    cout<<"Introduce diametro: ";
    cin>>diametro;
    cout<<"diametro: "<<perimetro(diametro)<<" , area: "<<area(radio)<<endl;
  return 0;
}

//objeto.cpp
#include "iostream"

using namespace std;


class Circulo{
private:
    double radio;
    double diametro;
public:
    static const double PI=3.1459;
    Circulo(){cout<<"objeto circulo creado"<<endl;}
    virtual ~Circulo(){cout<<"objeto circulo destruido"<<endl;}
    void setRadio(double r){this->radio=r;}
    double getRadio(){return this->radio;}
    void setDiametro(double d){this->diametro=d;}
    double getDiametro(){return this->diametro;}
    double calc_diametro(){return this->diametro*PI;}
    double calc_area(){return PI*(this->radio*this->radio);}
};


int main(){
    Circulo circulo=Circulo();
    double radio=0.0,diametro=0.0;
    cout<<"Introduce radio: "<<endl;
    cin>>radio;
    cout<<"Introduce diametro: "<<endl;
    cin>>diametro;
    circulo.setRadio(radio);
    circulo.setDiametro(diametro);
    cout<<"diametro: "<<circulo.calc_diametro()<<" , area: "<<circulo.calc_area()<<endl;
    return 0;
}


Esto esto por hoy.

Links
http://foro.elhacker.net/programacion_c/lo_que_no_hay_que_hacer_en_cc_nivel_basico-t277729.0.html


No hay comentarios:

Publicar un comentario

Vibe Coding (la programación vía IA): ¿el futuro de la programación?

Vibe Coding es un nuevo paradigma de programación, una nueva forma de crear código. Es un enfoque emergente en el desarrollo de sof...

Etiquetas

Archivo del blog