Título: COMPARAR FECHAS Publicado por: mateo26 en 31 Agosto 2019, 19:17 pm Hola, tengo que realizar un programa en C++ que invocando las siguientes funciones sea capaz de comparar fechas. no se como hacer para la salida me suelte lo que necesito.
//Considere que se le proveen 2 funciones con el siguiente perfil: int comparar_fechas(int d1, int m1, int a1, int d2, int m2, int a2) : Esta función recibe 2 fechas y retorna 1 si la primera es posterior a la segunda, 0 si son iguales o -1 si la primera es anterior a la segunda. void imprimir_fecha(int d, int m, int a) : Este procedimiento imprime por pantalla la fecha pasada como parámetro con el siguiente formato "d/m/a" Escriba un programa que solicite al usuario el ingreso de 2 fechas. Cada fecha se ingresará proporcionando un valor entero para el día, mes y año de cada una de las fechas. Deberá almacenar los valores propuestos en variables enteras. A continuación, su programa deberá decidir cuál de las 2 fechas es mayor e informarlo apropiadamente tal como se muestra en los ejemplos de ejecución. Para ello debe utilizar las funciones provistas. #include <iostream> using namespace std; void imprimir_fecha(int d, int m, int a) { cout<< d << "/" << m << "/" << a; } int comparar_fechas(int d1, int m1, int a1, int d2, int m2, int a2) { if (a1 < a2) return -1; else if (a1 > a2) return 1; else if (m1 < m2) return -1; else if (m1 > m2) return 1; else if (d1 < d2) return -1; else if (d2 > d1) return 1; else return 0; } int main() { int d1,m1,a1,d2,m2,a2; //Solicito ingreso primer fecha cout << "Ingrese dia de la primer fecha: "<<endl; cin >> d1; cout << "Ingrese mes de la primer fecha: "<<endl; cin >> m1; cout << "Ingrese año de la primer fecha: "<<endl; cin >> a1; //Solicito ingreso segunda fecha cout << "Ingrese dia de la segunda fecha: "<<endl; cin >> d2; cout << "Ingrese mes de la segunda fecha: "<<endl; cin >> m2; cout << "Ingrese año de la segunda fecha: "<<endl; cin >> a2; } Título: Re: COMPARAR FECHAS Publicado por: 98Fran en 31 Agosto 2019, 19:46 pm Esto puede que te sirva échale un ojo.
Código así se vera mucho mejor el código. Saludos*/[/code] Título: Re: COMPARAR FECHAS Publicado por: 98Fran en 31 Agosto 2019, 19:49 pm Esto puede que te sirva échale un ojo. Código así se vera mucho mejor el código. Saludos*/[/code] PD: No uso año sino ani-o (sin el -) pero el foro lo cambia automaticamente por que le da la gana xD. No se puede usar el caracter Ñ en C++. Saludos. Si son más de 2 fechas se pueden usar vectores y es más fácil la verdad pero hice este programa cuando no tenía mucha idea de C++ solo lo básico. Título: Re: COMPARAR FECHAS Publicado por: 98Fran en 31 Agosto 2019, 20:13 pm Voy a decirte un par de cosas del código para que veas algunos fallos (ya que yo también estoy aprendiendo y me están ayudando por aquí en el foro)
Lo primero: Código
Has creado 2 funciones y no las has llamado en el main(), por tanto cuando inicialices el programa, este va ir a buscar la función main(), va a leer todas las instrucciones de main(), (que en este caso solo es meter valores a las variables) y se va a terminar y no va a hacer nada más. Para que funcione tus funciones tienes que llamarlas con: Código
Y Código
esta mál, el ultimo else if es lo mismo. d1 <d2 == d2 > d1. Título: Re: COMPARAR FECHAS Publicado por: 98Fran en 31 Agosto 2019, 20:23 pm Me acabo de dar cuenta de que puede que no sepas que es una estructura xD.
ignora: Código
Cambia: d1.dia por d1 d1.mes por m1 d1.an-io por a1 ------------------ d2.dia == d2 d2.mes == m2 d2.año == a2 y Código: int main() |