ayuda plisss!!!

Iniciado por diego-4, 1 Septiembre 2010, 20:41 PM

0 Miembros y 1 Visitante están viendo este tema.

diego-4

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:

#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)
}

Horricreu

#1
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í.
  • 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.

diego-4

#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  :-(

[L]ord [R]NA

#3
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:

#include <stdio.h>

void main()
{
int year;
scanf("%d",&year);
//La unica forma en la que el if es falso es si year%4=0 y year!=0.
if(year%4||year==0)printf("No es Bisiesto\n");
else printf("Es Bisiesto\n");
getchar();
}

diego-4

#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 :(

Horricreu

Cita de: 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 :(

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

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

Saludos :P

diego-4

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

clodan

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!


#include <stdio.h>
#include <conio.h>

int bisiesto(int a);

int main(){
int B,ano;
scanf("%d",&ano);
B=bisiesto(ano);
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);
}

diego-4

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