Prolog zodiacal and leap year -


i'm trying tell me zodiacal sign , if year leap year of in prolog

and looks great it's shows me error when try cosnult

here code

    /* 7. horóscopo  horoscopo(signo,diaini,mesini,diafin,mesfin) <- son del signo signo los nacidos entre el dia ini/mesini y el diafin/mesfin */   horoscopo(aries,21,3,21,4). horoscopo(tauro,21,4,21,5). horoscopo(geminis,21,5,21,6). horoscopo(cancer,21,6,21,7). horoscopo(leo,21,7,21,8). horoscopo(virgo,21,8,21,9). horoscopo(libra,21,9,21,10). horoscopo(escorpio,21,10,21,11). horoscopo(sagitario,21,11,21,12). horoscopo(capricornio,21,12,21,1). horoscopo(acuario,21,1,21,2). horoscopo(piscis,21,2,21,3).   mes(1,31,enero). mes(2,28,febrero). mes(3,31,marzo). mes(4,30,abril). mes(5,31,mayo). mes(6,30,junio). mes(7,31,julio). mes(8,31,agosto). mes(9,30,septiembre). mes(10,31,octubre). mes(11,30,noviembre). mes(12,31,diciembre).  signo(dia,mes,signo) :-horoscopo(signo,d1,m1,d2,m2),((mes=m1,dia>=d1,mes(m1,d,_),dia=<d);(mes=m2,dia=<d2,dia>0)).   anio_bisiesto(l) :-     partition(es_anio_bisiesto,l,lin,lout),     format('año bisiesto:~w~n',[lin]),     format('no año bisiesto:~w~n',[lout]).   corre:-write('presiona s para salir, c para continuar: '), read(z), proceso(z).  proceso(c):-write('introduce tu día de nacimiento: '), read(x), write('introduce tu mes de nacimiento: '), read(y), calcula(x,y).  write('introduce el año: '), read(a).  es_anio_bisiesto(anio) :-     r4 anio mod 4,     r100 anio mod 100,     r400 anio mod 400,     ((r4 = 0, r100 \= 0); r400 = 0).  proceso(s):-!.  calcula(x,y):-write('tu signo es: '), signo(x,y,signo), write(signo),nl,corre. 

and error

error: c:/users/alaenvargut/desktop/a.pl:53:         full stop in clause-body?  cannot redefine ,/2 warning: c:/users/alaenvargut/desktop/a.pl:62:         clauses of proceso/1 not in source-file % c:/users/alaenvargut/desktop/a.pl compiled 0.00 sec, 1 clauses 

please me

and sorry mi bad english :s please

you should try

proceso(c):-write('introduce tu día de nacimiento: '), read(x), write('introduce tu mes de nacimiento: '), read(y), calcula(x,y). /* write('introduce el año: '), read(a).  es_anio_bisiesto(anio) :-     r4 anio mod 4,     r100 anio mod 100,     r400 anio mod 400,     ((r4 = 0, r100 \= 0); r400 = 0). */ proceso(s):-!. 

i think you're refining code: make anio variable , move es_anio_bisiesto after proceso(s):-!.


Comments

Popular posts from this blog

blackberry 10 - how to add multiple markers on the google map just by url? -

php - guestbook returning database data to flash -

delphi - Dynamic file type icon -