Bueno... el nivel de frikeza, autismo, y aburrimiento que llevo encima, me ha llevado a la idea de pasar las practicas que tuve que hacer para la universidad (originalmente en C) a c++, para que asi ademas, todos los que estan empezando en c++, puedan ver el uso de los metods, aqui cuelgo la primera practica. :)
Este primer ejercicio es sencillo, no hace falta que loe xplique pero, pide edades y pesos y al final si es mayor de 18 y menor de 30, dice cuantas personas ahi.
CLASS1.H
Código:
#ifndef CLASS1_HH_
#define CLASS1_HH_
#include <iostream.h>
#include <ostream>
using namespace std;
class Class1{
private:
std::string nombre;
int edad;
int personas;
int peso;
public:
Class1(std::string nmb, int edd, int prsonas);
Class1();
void Saluda(ostream& ostr, istream& istr);
void Asignar_Edad(int i);
int Retornar_Edad();
void Contar_Personas();
int Retornar_Personas();
};
#endif /*CLASS1_HH_*/
CLASS1.CC
Código:
#include <iostream.h>
#include "class1.hh"
#include <ostream>
using namespace std;
Class1::Class1(std::string nmb, int edd, int prsonas){
nombre = nmb; edad = edd; personas = prsonas;
}
Class1::Class1(){
nombre= ""; edad = 0; personas =0;}
void Class1::Saluda(ostream& ostr, istream& istr){
ostr << "Bienvenido al programa, esto es una prueba." << std::endl<<"Introduce tu nombre: "<<std::endl;
istr >> nombre;
ostr << "Bienvenido " << nombre << " ¿cuantos años tienes?" <<std::endl;
istr >> edad;
ostr << "Vaya "<< edad << " años ya :-o"<< std::endl;
}
void Class1::Asignar_Edad(int i){
edad = i;
}
int Class1::Retornar_Edad(){
return edad;
}
void Class1::Contar_Personas(){
if(edad > 18)
personas++;
}
int Class1::Retornar_Personas(){
return personas;
}
MAIN.CC
Código:
#include <iostream.h>
#include "class1.hh"
#include <ostream>
using namespace std;
int main()
{
Class1 ab;
cout << ab.Retornar_Personas();
ab.Saluda(std::cout, std::cin);
std::cout << "De acuerdo, ahora introduce edades hasta introducir un numero negativo :): "<<std::endl;
do{
std::cout <<"Introduce tu edad, para ver el funcionamiento de las clases se la asignaremos a la persona que creamos anteriormente" << std::endl;
int i;
std::cin >> i;
ab.Asignar_Edad(i);
ab.Contar_Personas();
}while(ab.Retornar_Edad() > 0);
int j = ab.Retornar_Personas();
std::cout<<"El numero de personas enter 18 y 30 años es de " << j << std::endl;
}
para todo aquel que no lo sepa, es TOTALMENTE desaconsejable poner cin y cout en los metodos, y para mostrar como poder hacerlo, he creado el metodo saludo, para que se peuda ver como se debe hacer este tipo de cosas en los metodos de las clases :).