4/14/2017

Ejercicio 51

Dado un año, haga un algoritmo que devuelva el siglo en el que se encuentra.
El primer siglo se extiende desde el año 1 hasta el año 100 inclusive, el segundo siglo desde el año 101 hasta el año 200, etc.

Devolver siglo de un año

#include <iostream>
// se incluye la clase Convertir para despues llamar a sus métodos 
#include "Convertir.h"

using namespace std;

int main(void)
{
    // se crea un objeto de la clase Convertir (Instanciación) 
    Convertir *obj = new Convertir();
    // se declara una variable de tipo entero llamada a  
    int a;
    // se pide el año 
    cout << "Digite el a" << (char) 164 << "o" << endl;
    cout << ">> ";
    cin >> a;
    // se encapsula la variable a  
    obj->setYear(a);
    // se muestra en pantalla el año y el siglo donde se encuentra 
    cout << "A" << (char) 164 << "o: " << obj->getYear() << endl;
    cout << "Siglo: " << obj->sigloDeAnio() << endl;
}

#ifndef CONVERTIR_H
#define CONVERTIR_H

class Convertir
{
    public:
        Convertir();
        virtual ~Convertir();
        // se declaran los métodos publicos 
        void setYear(int val);
        int getYear();
        int sigloDeAnio();
    protected:

    private:
        // se declaran los atributos privados 
        int year;
};

#endif // CONVERTIR_H

#include "Convertir.h"

Convertir::Convertir()
{
    // se le asigna por defecto al atributo year el valor de 0 en el constructor de la clase 
    year = 0;
}

Convertir::~Convertir()
{
    //dtor 
}

// método Set y Get del atributo de la clase 
void Convertir::setYear(int val)
{
    year = val;
}

int Convertir::getYear()
{
    return year;
}

// método para devolver el siglo del año 
int Convertir::sigloDeAnio()
{
    // inicializo una variable de tipo entero llamada temp , en el valor que retorne el metodo getYear  
    int temp = getYear();
    // inicializo una variable de tipo entero llamada inicial , en 1 
    int inicial = 1;
    // inicializo una variable de tipo entero llamada final , en 100 
    int final = 100;
    // inicializo una variable de tipo entero llamada siglo , en 0 
    int siglo = 0;
    // mientras el valor de la variable temp sea mayor a 0 se ejecutaran las instrucciones del ciclo while  
    while (temp > 0)
    {
        // se le decrementa 100 al valor de la variable temp  
        temp -= 100;
        // se le incrementa 100 al valor de la variable inicial  
        inicial+=100;
        // se le incrementa 100 al valor de la variable final  
        final+=100;
        // se le incrementa 1 al valor de la variable siglo  
        siglo++;
    }
    // se retorna el valor de la variable siglo  
    return siglo;
}

// se importa paquete JOptionPane para dibujar un cuadro de dialogo en pantalla
// que muestre información o para llenar información 
import javax.swing.JOptionPane;

public class Main
{
    public static void main(String[] args)
    {
        // se crea un objeto de la clase Convertir (Instanciación) 
        Convertir obj = new Convertir();
        // pedimos el año 
        int a = Integer.parseInt(JOptionPane.showInputDialog(null, "Digite el año"));
        // se encapsula la variable a  
        obj.setYear(a);
        // se muestra en pantalla el año y el siglo donde se encuentra 
        JOptionPane.showMessageDialog(null,
            "Año: " + obj.getYear() + "\n" +
            "Siglo: " + obj.sigloDeAño());
    }
}

public class Convertir
{
    // se declara el atributo privado de la clase 
    private int year;
    public Convertir()
    {
        // se le asigna por defecto al atributo year el valor de 0 en el constructor de la clase 
        year = 0;
    }
    
    // método Set y Get del atributo de la clase 
    public void setYear(int val)
    
        year = val;
    }
    
    public int getYear()
    {
        return year;
    }
    
    // método para devolver el siglo del año 
    public int sigloDeAño()
    {
        // inicializo una variable de tipo entero llamada temp , en el valor que retorne el metodo getYear  
        int temp = getYear();
        // inicializo una variable de tipo entero llamada inicial , en 1 
        int inicial = 1;
        // inicializo una variable de tipo entero llamada fin , en 100 
        int fin = 100;
        // inicializo una variable de tipo entero llamada siglo , en 0 
        int siglo = 0;
        // mientras el valor de la variable temp sea mayor a 0 se ejecutaran las instrucciones del ciclo while 
        while (temp > 0)
        {
            // se le decrementa 100 al valor de la variable temp  
            temp -= 100;
            // se le incrementa 100 al valor de la variable inicial  
            inicial+=100;
            // se le incrementa 100 al valor de la variable fin  
            fin+=100;
            // se le incrementa 1 al valor de la variable siglo  
            siglo++;
        }
        // se retorna el valor de la variable siglo  
        return siglo;
    }
}