Programa
C++ que lee por teclado un año y comprueba si es bisiesto. Un año es bisiesto si
cumple lo siguiente: es divisible por 4 y no lo es por 100 ó si es divisible
por 400.
Esta
condición en C++ la escribiremos así:
if(a%4==0
and a%100!=0 or a%400==0)
Para
saber si un número es divisible por otro se utiliza el operador % que obtiene
el resto de la división entre dos enteros.
Por
ejemplo, si a%4 == 0 significa que a es divisible por 4, es decir, el resto de dividir
a entre 4 es cero.
El
programa pide que se introduzca el año mostrando el mensaje
Introduce
año:
Pero para mostrar el mensaje “Introduce
año”: y que salga la ñ por pantalla debemos escribir en el lugar donde debe
aparecer la ñ su código ASCII.
cout << "Introduce
a"<<(char)164 <<"o: "; //164
ascii de ñ
El
programa C++ completo que calcula si un año es bisiesto es el siguiente:
//Programa C++ que lee un año y muestra si es o no bisiesto
#include <iostream>
using namespace std;
int main()
{
int anio;
//lectura por teclado del año
cout << "Introduce a"<<(char)164 <<"o: "; //164 ascii de ñ
cin >> anio;
if(a%4 == 0 and a%100 != 0 or a%400 == 0) //Condición de año bisiesto
cout << "Bisiesto" << endl;
else
cout << "No es bisiesto" << endl;
system("pause");
}
Gracias!!
ResponderEliminarMal hecho
ResponderEliminarpor que segun tu esta mal hecho?????? si sabes progamar?
EliminarNo apoyo el comentario, pero las variables del if deberían ser 'anio' y no 'a', pero si nos ponemos tiquismiquis, las buenas practicas serían poner llaves en los condicionales y paréntesis. No obstante, valoro mucho que hayan compartido este pedacito de código y no veo motivo por el cual ofender como ha hecho el caballero "Cristhian Romero", la próxima vez, explica las razones.
Eliminaryo lo resolví así:
Eliminar#include
#include
using namespace std;
int anio = 0, division = 0;
void calcular_bisiesto (){
division = anio / 400;
division *= 400;
if (division != anio){
cout<<"no es un año bisiesto...\n";}
else cout<<"es un año bisiesto!!\n";
}
int main(){
cout<<"por favor digite un año para saber si es bisiesto: "; cin>>anio;cout<<endl;
calcular_bisiesto();
system("pause");
return 0;
}
Si esta mal hecho pero esta bien planteado el condicional dice a y deberia decir anio, no agregaste el include para el system pause
EliminarLAS HECHO
EliminarNO CONTESTO EL WEE
ResponderEliminarNO CONTESTO EL WEE
ResponderEliminargracias es un gran trabajo
ResponderEliminar// A mi manera jaja igual funciona
ResponderEliminar#include
#include
void Bisiesto ()
{
int bisiesto;
std::cout << "Ingrese el anio que desea verificar si es bisiesto o no: ";
std::cin >> bisiesto;
int prueba = 1;
if (bisiesto == 2020)
{
std::cout << bisiesto << "es bisiesto.\n" << std::endl;
prueba=0;
}
else if (bisiesto > 2020)
{
for (int año = 2020; año<=bisiesto; año=año+4)
{
if (bisiesto == año)
{
std::cout << bisiesto << "es bisiesto.\n" << std::endl;
prueba=0;
}
}
}
else if (bisiesto < 2020)
{
for (int año2 = 2020; año2>=bisiesto; año2=año2-4)
{
if (bisiesto == año2)
{
std::cout << bisiesto << "es bisiesto.\n" << std::endl;
prueba=0;
}
}
}
if (prueba==1)
{
std::cout << bisiesto << " NO es bisiesto.\n" << std::endl;
}
}
la funcion se llama void Bisiesto porque pertenece a una solucion integral junto a otros ejercicios, pero para ejecutarlo en forma individual, reemplazarlo por int main, saludos.-
EliminarTú como le hiciste?
Eliminarint main(int argc, char** argv) {
ResponderEliminarint anio,opc;
do{
printf("\n\t\t\t------------------------------");
printf("\n\t\t\tCOMPROBADOR DE ANIOS BISIESTOS");
printf("\n\t\t\t------------------------------");
printf("\n\tA continuacion...");
printf("\n\tIngrese el anio que desea verificar: ");
scanf("%d",&anio);
if(anio%4==0 && anio%100!=0)
printf("\nEl anio %d es BISIESTO",anio);
else
printf("\nEl anio %d NO es BISIESTO",anio);
printf("\n");
system("pause");
system("cls");
printf("\nDesea comprobar otro anio?");
printf("\n\n|(1.) --- SI|(2.) --- NO|");
printf("\n\n\tEscoga: ");
scanf("%d",&opc);
switch(opc)
{
case 1:{
system("cls");
printf("\nReiniciando programa...");
break;
}
case 2:{
system("cls");
printf("\nGracias por usar mi programa. ADIOS :)");
break;
}
default :{
printf("\nTu opcion es INVALIDA, igual que Lenin Moreno");
printf("\nPor eso repetiremos el programa, ahora indica una de las opciones validas");
printf("\n");
system("pause");
system("cls");
break;
}
}
}while(opc!=2);
return 0;
}
#include
ResponderEliminarusing namespace std;
bool bisiesto (int numero)
{
return ((numero%4==0 && numero%100!=0 )|| numero%400==0);
}
int main()
{
int num;
cout << "Hola. Con el 0 finaliza el ejercicio.\n"<< endl;
do{
cout << "Ingrese el a"<<(char)164<<"o: ";
cin >> num;
if (bisiesto(num))
cout << "El a"<<(char)164<<"o " << num << " es bisiesto.\n\n";
else
cout << "El a"<<(char)164<<"o " << num << " NO es bisiesto.\n\n";
}
while (num !=0);
return 0;
}
Mi solución. Mi entorno de desarrollo es QT
Te amo amigo
Eliminar#include
ResponderEliminarint obtenerDiasDelMes(int mes, int anio) {
if (mes == 2) {
if ((anio % 4 == 0 && anio % 100 != 0) || anio % 400 == 0) {
return 29; // Año bisiesto, febrero tiene 29 días
} else {
return 28; // Año no bisiesto, febrero tiene 28 días
}
} else if (mes == 4 || mes == 6 || mes == 9 || mes == 11) {
return 30; // Meses con 30 días
} else {
return 31; // Meses con 31 días
}
}
int main() {
int mes, anio;
std::cout << "Ingrese el número de mes (1-12): ";
std::cin >> mes;
std::cout << "Ingrese el año: ";
std::cin >> anio;
if (mes < 1 || mes > 12) {
std::cout << "Error: Número de mes inválido." << std::endl;
return 0;
}
int dias = obtenerDiasDelMes(mes, anio);
std::cout << "El mes " << mes << " del año " << anio << " tiene " << dias << " días." << std::endl;
return 0;
a no pos tonces cual sirve
ResponderEliminar