| 
	
		|  Autor | Tema: Ayuda errores, ejercicio dia, mes, año Codificación a C  (Leído 2,728 veces) |  
	| 
			| 
					
						| lanak_29 
								
								 Desconectado 
								Mensajes: 3
								
								
								
								
								
								   | 
 
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#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?} //Variablesint nDays;//Codigoint 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 ",' ');   //Pendiente REVISAR imprimir un espacio			} 			if (nOfdaysfebruary(2014 !=28)){				 printf("%c ",' ');   //Pendiente REVISAR imprimir un espacio			}  				if (nOfdaysfebruary(2000 !=29)){				 printf("%c ",' ');   //Pendiente REVISAR imprimir un espacio			} 			if (nOfdaysfebruary(1600 !=29)){				 printf("%c ",'E');   //Imprimir caracter					 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");}
 
 |  
						| 
								|  |  
								| « Última modificación: 31 Marzo 2015, 12:31 pm por engel lex » |  En línea | 
 
 |  |  |  | 
			| 
					
						| ivancea96 
								       
								
								 Desconectado 
								Mensajes: 3.412
								
								 
								ASMático
								
								
								
								
								
								     | 
 
Si no pones los warnings, quienes no lo puedan comilar no podrán verlos. Ponlos.
 El main es necesario para compilar el programa. Si no está, no tiene por donde empezar el programa. En el main es donde debes testear el algoritmo.
 
 
 |  
						| 
								|  |  
								|  |  En línea | 
 
 |  |  |  | 
			| 
					
						| Hurdano 
								 
								
								 Desconectado 
								Mensajes: 322
								
								 
								Se que puedo cambiar el futuro, pero no el pasado
								
								
								
								
								
								     | 
 
Buenas.
 En lenguaje C, deberías empezar con algo más básico, ya que ni sabes que dentro de main tiene que ir tu código. Es sí o sí. Ya que así se requiere.
 
 Los problemas son esos, que no está dentro y no los cierras bien. Vamos es lo primero que he visto, igual tienes algo más o no, pero primera prueba con eso.
 |  
						| 
								|  |  
								|  |  En línea | 
 
 |  |  |  | 
			| 
					
						| lanak_29 
								
								 Desconectado 
								Mensajes: 3
								
								
								
								
								
								   | 
 
Gracias!!He visto que era necesario poner el main.
 Este ejercicio me lo han puesto como practica.
 El problema de los warnings eran que faltaban return.
 
 
 |  
						| 
								|  |  
								|  |  En línea | 
 
 |  |  |  | 
			| 
					
						| rir3760 
								       
								
								 Desconectado 
								Mensajes: 1.639
								
								
								
								
								
								   | 
 
Otro error (uno lógico) se encuentra en todos los condicionales de la función "testNOfDaysFebruary": void testNOfDaysFebruary(void){   if (nOfdaysfebruary(2016 != 29)){   /* ... */   if (nOfdaysfebruary(2014 != 28)){   /* ... */   if (nOfdaysfebruary(2000 != 29)){   /* ... */   if (nOfdaysfebruary(1600 != 29)){   /* ... */}
 Sintácticamente son correctas pero tienen el efecto de llamar a la función "nOfdaysfebruary" con el valor cero como argumento. Hay que sacar la comparación con las literales fuera de la lista de argumentos de la función: void testNOfDaysFebruary(void){   if (nOfdaysfebruary(2016) != 29){   /* ... */   if (nOfdaysfebruary(2014) != 28){   /* ... */   if (nOfdaysfebruary(2000) != 29){   /* ... */   if (nOfdaysfebruary(1600) != 29){   /* ... */}
 Un saludo |  
						| 
								|  |  
								|  |  En línea | 
 
 C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly.--
 Kernighan & Ritchie, The C programming language
 |  |  |  |  |  
 
	
 
 
				
					
						| Mensajes similares |  
						|  | Asunto | Iniciado por | Respuestas | Vistas | Último mensaje |  
						|   |   | ayuda con codificacion de template Diseño Gráfico
 | prosk8er | 1 | 2,064 |  20 Septiembre 2005, 08:51 am por PhenfiX
 |  
						|   |   | Ayuda con codificacion en Pascal Programación General
 | Nightwinds | 7 | 9,499 |  5 Mayo 2016, 14:02 pm por hrchacho
 |  
						|   |   | Ayuda con una codificacion muy rara Criptografía
 | hecky | 4 | 6,993 |  13 Septiembre 2011, 14:42 pm por APOKLIPTICO
 |  
						|   |   | Errores con un ejercicio de registros en el que tengo que crear una agenda. C++ Programación C/C++
 | seryioo | 4 | 2,347 |  8 Septiembre 2015, 19:53 pm por ivancea96
 |  
						|   |   | (Consulta) Ejercicio en C - Errores que no logro entender. Programación C/C++
 | palacio29 | 2 | 2,440 |  21 Agosto 2016, 19:04 pm por palacio29
 |    |