#include <iostream> using namespace std; int main() { int A, N; cout << "Ingrese el año: "; cin >> A; if (A > 0) { N = A - 1; cout << "El año es " << N << endl; } else { cout << "El año es " << A << endl; } return 0; }
El código que proporcionas parece estar diseñado para restar 1 al año ingresado por el usuario. Sin embargo, hay un problema en la lógica del código. Si el año ingresado es positivo, el código restará 1 y mostrará el resultado. Si el año ingresado es negativo, el código mostrará el año ingresado tal como es. Parece que la intención es mostrar el año anterior al ingresado, independientemente de si el año ingresado es positivo o negativo. Aquí te muestro la corrección del código: ```cpp #include <iostream> using namespace std; int main() { int A, N; cout << "Ingrese el año: "; cin >> A; N = A - 1; // Resta 1 al año ingresado cout << "El año anterior es " << N << endl; return 0; } ``` En este código, se resta 1 al año ingresado y se muestra el resultado como el año anterior. Si deseas agregar una validación para asegurarte de que el año ingresado sea un número entero positivo, puedes agregar un condicional para verificar si el año ingresado es menor o igual a 0. ```cpp #include <iostream> using namespace std; int main() { int A, N; cout << "Ingrese el año: "; cin >> A; if (A <= 0) { cout << "El año ingresado debe ser un número entero positivo." << endl; } else { N = A - 1; // Resta 1 al año ingresado cout << "El año anterior es " << N << endl; } return 0; } ``` En este código, se agrega un condicional para verificar si el año ingresado es menor o igual a 0. Si es así, se muestra un mensaje de error. De lo contrario, se resta 1 al año ingresado y se muestra el resultado.