Hola que tal,
Compañeros soy nuevo en esto de la programación "c" constantemente tengo dudas, supongo que es normal. A ver si me podeis ayudar con un codigo. El codigo me lo han pasado en algorismo y lo estoy pasando a "C", tengo algun fallo.
En el codigo no me pedian la funcion main. Pero si no la incluyo me da fallo, Aun asi tengo un warnning. El codigo tiene dos warnings uno en la linea de main y el otro en la linea anterior a
int isAValidDay (int nDays, int nDaysMonth){
El tema es que tengo dos warnings me podeis ayudar a solucionarlo. Gracias.
Mod: Tema modificado, los codigos deben ir en etiquetas GeSHi
Compañeros soy nuevo en esto de la programación "c" constantemente tengo dudas, supongo que es normal. A ver si me podeis ayudar con un codigo. El codigo me lo han pasado en algorismo y lo estoy pasando a "C", tengo algun fallo.
En el codigo no me pedian la funcion main. Pero si no la incluyo me da fallo, Aun asi tengo un warnning. El codigo tiene dos warnings uno en la linea de main y el otro en la linea anterior a
int isAValidDay (int nDays, int nDaysMonth){
El tema es que tengo dos warnings me podeis ayudar a solucionarlo. Gracias.
Código (c) [Seleccionar]
#include <stdio.h>
//algorisme valiDate
void testNOfDaysFebruary();
void testlsACorrectDate();
int nOfdaysfebruary(int year);
typedef enum {FALSE, TRUE} bool; //Estructura booleana.
int main(){ //La funcion main vacia?
}
//Variables
int nDays;
//Codigo
int nOfdaysfebruary(int year)
{
if (year% 4 == 0 && year% 100 != 0 ){ //(year mod 4 = 0 and year mod 100 ≠ 0) llavors
nDays=29;
}
else
nDays=28;
return nDays;
}
void testNOfDaysFebruary()
/*printf("Test number of days February\n");*/
{
if (nOfdaysfebruary(2016 !=29)){
printf("%c ",'E');
printf("%d ",2016);
printf("%c ",' '); //Pendiente REVISAR imprimir un espacio
}
if (nOfdaysfebruary(2014 !=28)){
printf("%c ",'E');
printf("%d ",2014);
printf("%c ",' '); //Pendiente REVISAR imprimir un espacio
}
if (nOfdaysfebruary(2000 !=29)){
printf("%c ",'E');
printf("%d ",2016);
printf("%c ",' '); //Pendiente REVISAR imprimir un espacio
}
if (nOfdaysfebruary(1600 !=29)){
printf("%c ",'E'); //Imprimir caracter
printf("%d ",1600);
printf("%c ",' '); //Pendiente REVISAR imprimir un espacio
}
}
int nDaysMonth (int month, int year)
{
if ( month ==2){
nDays = nOfdaysfebruary(year);
}
else {
if(month == 4 || month == 6 || month == 9 || month == 11 )
nDays=30;
else
nDays=31;
}
}
int isAValidDay (int nDays, int nDaysMonth){ //FUNCION
return ((nDays >= 1) & (nDays <= nDaysMonth)); //verificar se han colocado dos parentesis
}
int isAvalidMonth(int month){ //FUNCION
return (month <13); /*retorno*/
}
int isACorrectDate(int day, int month, int year){ // FUNCION
//typedef enum {FALSE, TRUE} bool;
bool dateOK;
int maxDays;
dateOK=FALSE; //Tener en cuenta en mayusculas FALSE.
if (isAvalidMonth (month)){
maxDays=nDaysMonth(month, year);
dateOK = isAValidDay (day, maxDays);
}
return dateOK; /*retorno*/
}
/* aquesta acció us la donem ja codificada en C */
void testIsACorrectDate(){
printf("Test isACorrectDate\n");
if (isACorrectDate(31, 4, 2015)) printf("error 31/4/2015\n");
if (!isACorrectDate(31, 3, 2015)) printf("error 31/3/2015\n");
if (isACorrectDate(29, 2, 2015)) printf("error 29/2/2015\n");
if (!isACorrectDate(29, 2, 2400)) printf("error 29/2/2400\n");
}
Mod: Tema modificado, los codigos deben ir en etiquetas GeSHi