Hola a todos, alguien podría disipar mi duda a que se debe que me marque el error en esta parte por favor?, se los agradezco mucho y tengan buen día.
He realizado mi programa y cuando lo compilo me señala un error en: int dias=0, mes= 0, año=0;
El desarrollo de mi código ha sido el siguiente:
/*Algoritmo del programa "DiasMes"
/*programa de calificacion.c
* Descripcion: Dado el dia, mes y año despliega un
mensaje
* comparamos el mes con las constantes 1, 2, 3,...12.
* Si mes es 1,3,5,7,8,10 ó 12 asignamos a días el valor 31.
* Si es mes 4,6,9 u 11 asignamos a días el valor 30.
* Si mes es 2, verificaremos si el año es bisiesto, en cuyo caso asignamos a días el valor 29 y si no es bisiesto asignamos a días el valor 28.
* Si mes no es ningún valor de los anteriores enviaremos un mensaje ndicándole que el mes no es válido*/
#include<stdio.h>
#include<stdlib.h>
/* Funcion principal*/
main()
{ /*Inicio de la funcion principal*/
/* Declaracion de variables*/
int dias=0, mes=0, año=0; En esta parte me detecta el error :huh:
/*Mensaje de bienvenida*/
printf("\nEste programa determina el dia, mes y año dado");
printf("Mes (##) : ") ; mes=Leer.datoInt();
printf(" Año (####) : ") ; año=Leer.datoInt();
switch (mes)
{
case 1: case 3: case 5: case 7: case 8: case 10: case 12:
dias=31;
break;
case 4: case 6: case 9: case 11:
dias=30;
break;
case 2:
//¿Es bisiesto?
if ((año % 4= =0) && (año % 100 != 0) || (año % 400= =0))
dias=29
break;
default:
System.out.println("\nEl mes no es válido")
break;
}
if (mes >=1 && mes = 1 && mes
prueba
int dias=0;
int mes= 0;
int agno=0;
Cita de: Ivs_mx en 2 Octubre 2012, 03:49 AM
Hola a todos, alguien podría disipar mi duda a que se debe que me marque el error en esta parte por favor?, se los agradezco mucho y tengan buen día.
Lo estuve mirando y me pareció mejor así:#include <stdio.h>
int main()
{
int num_mes=0,anyo;
char mes [12][10]={"ENERO","FEBRERO","MARZO","ABRIL","MAYO","JUNIO","JULIO","AGOSTO","SEPTIEMBRE","OCTUBRE","NOVIEMBRE","DICIEMBRE"};
printf("MES = ");scanf ("%d",&num_mes);
printf("ANYO = ");scanf ("%d",&anyo);
switch (num_mes)
{
case 1: case 3: case 5: case 7: case 8: case 10: case 12:
printf("31 / %s / %d\n" ,mes [num_mes-1],anyo);
break;
case 4: case 6: case 9: case 11:
printf("30 / %s / %d\n" ,mes [num_mes-1],anyo);
break;
case 2:
if (( anyo % 4==0) && (anyo % 100 != 0) || (anyo % 400==0) )
printf("29 / %s / %d\n" ,mes [1],anyo);
else
printf("28 / %s / %d\n",mes [1],anyo);
break;
default:
printf ("\nEl mes no es valido");
break;
}
return 0;
}
O como tú lo tenías, corregido más o menos:
#include <stdio.h>
int main()
{
int num_mes=0,anyo;
printf("MES = ");scanf ("%d",&num_mes);
printf("ANYO = ");scanf ("%d",&anyo);
switch (num_mes)
{
case 1: case 3: case 5: case 7: case 8: case 10: case 12:
printf("31 / %d / %d\n" ,num_mes,anyo);
break;
case 4: case 6: case 9: case 11:
printf("30 / %d / %d\n" ,num_mes,anyo);
break;
case 2:
if (( anyo % 4==0) && (anyo % 100 != 0) || (anyo % 400==0) )
printf("29 / 2 / %d\n" ,anyo);
else
printf("28 / 2 / %d\n",anyo);
break;
default:
printf ("\nEl mes no es valido");
break;
}
return 0;
}
Saludos!