Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: diego-4 en 1 Septiembre 2010, 20:41 pm



Título: ayuda plisss!!!
Publicado por: diego-4 en 1 Septiembre 2010, 20:41 pm
bueno recien empiezo con esto del c y c++ ... tengo esta codificacion de saber si un año es bisiesto o no... y me tira un error de Declaration terminated incorrectly en la linea del segundo {
PORFAVOR AGRADECESERIA SU AYUDA ^^

aca dejo la codificacion:

Código
  1. #include <stdio.h>
  2. #include <conio.h>
  3.  
  4.  
  5. int bisiesto(int);
  6. void main()
  7. {
  8. int B,año;
  9. scanf("%d",&año);
  10. B= bisiesto(año);
  11. if(B==0)
  12.  printf("No es bisiesto");
  13.  getch();
  14. }
  15. int bisiesto(int a);
  16. {
  17. int b
  18. if(a%4==0)
  19.  b=1
  20. else b=0
  21. return( b)
  22. }


Título: Re: ayuda plisss!!!
Publicado por: Horricreu en 1 Septiembre 2010, 21:11 pm
Más errores:

  • La librería conio.h no es standard y no se recomienda para nada su uso. La función que utilizas de dicha librería es getch() que se puede sustituir por getchar() de stdio.
  • Utilizas void main(). Pásate por aquí (http://foro.elhacker.net/programacion_cc/lo_que_no_hay_que_hacer_en_cc_nivel_basico-t277729.0.html).
  • En vez de else utiliza else if() para hacer la comparación que igualmente también la tienes mal.
  • Te falta un el punto y coma en toda la función.
  • En el return te falta un punto y coma.

Saludos :P

EDITO: he ido a cenar y he modificado mi respuesta que está como la de Lord R.N.A. porque no vi su publicación.


Título: Re: ayuda plisss!!!
Publicado por: diego-4 en 1 Septiembre 2010, 21:21 pm
#include <stdio.h>
#include <conio.h>


int bisiesto(int)
void main()
{
int B,año;
scanf("%d",&año);
B= bisiesto(año);
 if(B==0)
  printf("No es bisiesto");
  getch();
}
 int bisiesto(int a)
{
 int b;
 if(a%4==0)
  b=1
 else b=0
 return( b)
 }

ahora me tira error de DECLARATION SYNTAX ERROR EN EL void main  :-(


Título: Re: ayuda plisss!!!
Publicado por: [L]ord [R]NA en 1 Septiembre 2010, 21:37 pm
voy con mi respuesta:

1) No uses <conio.h>, no es standard.
2) No necesariamente necesitas la funcion, ocupa espacio y tiempo de memoria innecesario.
3) Puedes dar varias reglas a un if utilizando el operador || «OR».
4) No uses getch() porque esta en <conio.h>.
5) Te faltaron todos los ";" en la funcion.

Aqui esta un codigo de ejemplo:
Código
  1. #include <stdio.h>
  2.  
  3. void main()
  4. {
  5. int year;
  6. scanf("%d",&year);
  7. //La unica forma en la que el if es falso es si year%4=0 y year!=0.
  8. if(year%4||year==0)printf("No es Bisiesto\n");
  9. else printf("Es Bisiesto\n");
  10. }


Título: Re: ayuda plisss!!!
Publicado por: diego-4 en 1 Septiembre 2010, 21:56 pm
#include <stdio.h>



int bisiesto(int);
void main()
{
int B,año;
scanf("%d",&año);
B= bisiesto(año);
 if(B==0)
  printf("No es bisiesto");
  getchar();
}
 int bisiesto(int a);
{
 int b
 if(a%4==0)
  b=1
 else if() b=0
 return(b);
 }


Ahi hice todo lo q me dijiste u.u, porq es segun la funcion q tengo , de hacer la codificacion ... podrias copiar y pegar eso en un compilador y sacarle o agregarle lo q falta plis ^^ porq hice todo y nada :(


Título: Re: ayuda plisss!!!
Publicado por: Horricreu en 1 Septiembre 2010, 22:01 pm
#include <stdio.h>



int bisiesto(int);
void main()
{
int B,año;
scanf("%d",&año);
B= bisiesto(año);
 if(B==0)
  printf("No es bisiesto");
  getchar();
}
 int bisiesto(int a);
{
 int b
 if(a%4==0)
  b=1
 else if() b=0
 return(b);
 }


Ahi hice todo lo q me dijiste u.u, porq es segun la funcion q tengo , de hacer la codificacion ... podrias copiar y pegar eso en un compilador y sacarle o agregarle lo q falta plis ^^ porq hice todo y nada :(

Mírate las soluciones que te dí. Y un libro no estaría nada mal.

Código:
http://foro.elhacker.net/programacion_cc/librospapers_c_and_c-t296234.0.html

Saludos :P


Título: Re: ayuda plisss!!!
Publicado por: diego-4 en 1 Septiembre 2010, 22:31 pm
GRACIAS Horricreu y Lord... seguire leyendo la bibliografia de mis apuntes de programacion para encontrar el problema u.u... me fui tengo que ir a cursar TIS  u.u chau gracias de nuevo


Título: Re: ayuda plisss!!!
Publicado por: clodan en 2 Septiembre 2010, 15:51 pm
Codigo Corregido, no uses "ñ", el c++ no las reconocia. Faltaban bastantes ';' y te recomiendo qe siempre que uses IF abras y cierres { } asi queda mas ordenado, al igual que con el else.

Salu2!

PD: en la declaracion de la funcion bisiesto faltaba poner tambien la variable dentro de los parentesis!

Código
  1. #include <stdio.h>
  2. #include <conio.h>
  3.  
  4. int bisiesto(int a);
  5.  
  6. int main(){
  7. int B,ano;
  8. scanf("%d",&ano);
  9. B=bisiesto(ano);
  10. if(B==0)
  11.  printf("No es bisiesto");
  12.  getch();
  13. }
  14. int bisiesto(int a){
  15. int b;
  16. if((a%4)==0){
  17.  b=1;
  18. }
  19. else {
  20. b=0;
  21. }
  22. return(b);
  23. }
  24.  


Título: Re: ayuda plisss!!!
Publicado por: diego-4 en 3 Septiembre 2010, 20:26 pm
me faltaba los corchetes y parentiesis nada mas :/ jejeje gracias LO ESTOY TENIENDO EN CUENTA PARA MIS TRABAJOS DE LA FACULTAD , y lo de la ñ lo se =D gracias de nuevo