Gracias por la respuesta =D
Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.
Mostrar Mensajes MenúCita de: AlbertoBSD en 31 Agosto 2016, 20:31 PM
Edite mi post anterior te falta agregar (int)en el cout
stAngulo angulo1 = { 23, 15, 20 }, angulo2 = { 2, 35, 29 };
Cita de: AlbertoBSD en 31 Agosto 2016, 20:26 PMint8_t unbyte;
char unbyte;
unsigned char unbyte;
unit8_t unbyte;
En el caso de loa int8_t necesitas la biblioteca de funciones stdint
#include <iostream>
#include <cmath>
using namespace std;
typedef char byte;
struct stAngulo {
short grados;
byte minutos;
byte segundos;
};
stAngulo operator+(stAngulo a1, stAngulo a2); // a1+a2
stAngulo operator-(stAngulo a1, stAngulo a2); // a1-a2
int main(int argc, char *argv[]) {
stAngulo angulo1 = { 23, 15, 20 }, angulo2 = { 2, 35, 29 };
stAngulo suma = angulo1 + angulo2;
cout << "Grados: " << suma.grados << "\n\nMinutos: " << suma.minutos << "\n\nSegundos: " << suma.segundos << endl;
cin.get();
return 0;
}
stAngulo operator+ (stAngulo a1, stAngulo a2) {
stAngulo temp = {
a1.grados + a2.grados,
a1.minutos + a2.minutos,
a1.segundos + a2.segundos,
};
do {
++temp.minutos;
temp.segundos -= 60;
} while (temp.segundos >= 60);
do {
++temp.grados;
temp.minutos -= 60;
} while (temp.minutos >= 60);
return temp;
}
stAngulo operator-(stAngulo a1, stAngulo a2) {
stAngulo temp = {
a1.grados - a2.grados,
a1.minutos - a2.minutos,
a1.segundos - a2.segundos,
};
do {
--temp.minutos;
temp.segundos = abs(temp.segundos);
} while (temp.segundos <= 0);
do {
--temp.grados;
temp.minutos = abs(temp.minutos);
} while (temp.minutos <= 0);
return temp;
}
Cita de: Pablo Videla en 7 Enero 2016, 16:00 PMInteresante aportacion.
Mira los cambios ahora en java 8 para las interfaces.
https://yasnameza.wordpress.com/2015/01/11/una-de-las-novedades-de-java-8/