Test Foro de elhacker.net SMF 2.1

Programación => Programación C/C++ => Mensaje iniciado por: JonatanP en 26 Abril 2020, 21:19 PM

Título: Problemas Dev C++ " AYUDA URGENTE!!!!"
Publicado por: JonatanP en 26 Abril 2020, 21:19 PM
Hola, necesito ayuda para estos tres ejercicios. si me pueden explicar o dar una solución. se los agradecería mucho, ya me desespere. Gracias.

9. Programa que captura un año válido y dice si es bisiesto o no. Para ser válido deberá cumplir con estar entre 1900 y 2019, de no ser así indique el error y vuélvalo a solicitar hasta que lo sea. Para saber si es bisiesto, éste deberá ser divisible por 4 pero no por 100 o divisible entre 400.

Código (cpp) [Seleccionar]
int main()
{
    int año;

    printf( "\n   Introduzca un a%co: ", 164 );
    scanf( "%d", &año );
   
    if (año>=1900 && año <=2019)
    if ( año % 4 == 0 && año % 100 != 0 || año % 400 == 0 )
   
    do{
    printf("ERROR, Dame otro año",164);
    scanf ("%d",&año);
}while(año<1900&&año>2019);


        printf( "\n   ES BISIESTO" );
    else
        printf( "\n   NO ES BISIESTO" );
}


En el 9 , no se como hacer que aparezca un error cuando se coloca un numero menor de 1900 y mayor a 2019.




10. Programa que convierta un número entero positivo en número binario. Deberá validar que el número tenga un valor entre el 1 y el 255 de no ser así indique error y pídalo hasta que cumpla con esto. Para este programa podrán usar la función pow() la cual se encuentra en la librería MATH.H. la función pow lleva entre paréntesis dos números enteros, uno es el número y el otro la potencia. Ej. R=pow(5,2) entonces el valor de  R=25.  
Y aqui en el 10, no se como empezarlo.


11. Programa que captura una fecha válida, considerando año entre 1900 y 2019, febrero de 28 días y el resto de los meses como corresponde, deberá indicar error si no es válida y seguirla preguntando hasta que lo sea.

Código (cpp) [Seleccionar]
#include <conio.h>
#include <stdio.h>

int main()
{
    int dia, mes, año, fecha_correcta;

    printf( "\n   Introduzca d%ca: ", 161 );
    scanf( "%d", &dia );
    printf( "\n   Introduzca mes: " );
    scanf( "%d", &mes );
    printf( "\n   Introduzca a%co: ", 164 );
    scanf( "%d", &año );

    fecha_correcta = 0;
    if (año >=1900 && año <=2019)

    if ( mes >= 1 && mes <= 12 )
    {
        switch ( mes )
        {
            case  1 :
            case  3 :
            case  5 :
            case  7 :
            case  8 :
            case 10 :
            case 12 : if ( dia >= 1 && dia <= 31 )
                          fecha_correcta = 1;
                      break;

            case  4 :
            case  6 :
            case  9 :
            case 11 : if ( dia >= 1 && dia <= 30 )
                         fecha_correcta = 1;
                      break;

            case  2 : if ( año % 4 == 0 && año % 100 != 0 || año % 400 == 0 );
                     
                      else
                          if ( dia >= 1 && dia <= 28 )
                              fecha_correcta = 1;
        }
    }


    if ( fecha_correcta )
        printf( "\n   FECHA CORRECTA" );
    else
        printf( "\n   FECHA INCORRECTA" );
    }


En el 11, no se donde poner el do while para que siga preguntando si la fecha no esta enre 1900 y 2019
Título: Re: Problemas Dev C++ " AYUDA URGENTE!!!!"
Publicado por: K-YreX en 26 Abril 2020, 22:36 PM
Especifica en qué parte de los programas tienes problemas y a ser posible coloca el código que tengas hecho para poder ayudarte. Para colocar código utiliza las etiquetas de Código GeSHi del desplegable que hay sobre el cuadro de texto y selecciona el lenguaje apropiado (C o C++, el que sea).

Título: Re: Problemas Dev C++ " AYUDA URGENTE!!!!"
Publicado por: JonatanP en 26 Abril 2020, 22:47 PM
Cita de: YreX-DwX en 26 Abril 2020, 22:36 PM
Especifica en qué parte de los programas tienes problemas y a ser posible coloca el código que tengas hecho para poder ayudarte. Para colocar código utiliza las etiquetas de Código GeSHi del desplegable que hay sobre el cuadro de texto y selecciona el lenguaje apropiado (C o C++, el que sea).


Listo, gracias. Espero puedas ayudarme
Título: Re: Problemas Dev C++ " AYUDA URGENTE!!!!"
Publicado por: K-YreX en 27 Abril 2020, 03:04 AM
Bueno pues vamos uno por uno...
Para empezar un tema importante: diferencia entre while() y do{}while().
Un while() primero comprueba una condición y se pueden dar dos casos: