Ayuda en C

KoKiTO

Bueno estoi empezando kn c pk en la informatica nos mandan. Y en las practicas me mandan hacer algo komo esto:

#include <stdio.h>
void main ()
{
int num=0
printf("Introduce");
scanf("%d",&num);
if(num>0)
printf("El n£mero es positivo");
else
printf ("El n£mero es 0 o negativo");
}

Pero al compilar me da un error en el primer printf :/ y nose k error.Si me pudierais ayudar.Gracias

sharker

No deberias haber puesto return 0; al final? Es una pregunta que yo tb estoy empezando xD

#include <stdio.h>
void main ()
{
int num=0
printf("Introduce");
scanf("%d",&num);
if(num>0)
printf("El n£mero es positivo");
else
printf ("El n£mero es 0 o negativo");
return 0;
}

Asi no? Igual es eso xq no veo error en el primer printf no se :S

y otra pregunta, en vez de int num=0 no es int num=0; ??? Las ; para cerrar sentencias?

Es que hay partes de esas funciones q no he dado todavia, lo de if y else ni zorra.

KoKiTO

K yo sepa el retunr hace k vuelva to a empezar desde onde tu le mandas y aki no kreo k haga falta pienso yo.Yo tampk se pk da error ai y en los demas no si son tos = :(

KoKiTO

Tenias razon sharker el fallo es k me faltaba ; :O. Gracias por la ayuda

scumah

xD conteste tarde, pero weno, supongo k te dio el error este:
syntax error : missing ';' before identifier 'printf'

es facil, te falta ; antes de printf :P te vas a la linea en cuestion, y miras k despues de int num=0, va ;

sharker

Ten cuidao con las ; a mi tb me pasa a veces es peligroso xD.

M4Kr0v

La mayoria de los mensajes de error de C, estan basados en algo tan simple como que se nos olvida poner " ; " al final de las lineas. Yo empeze con C hara cosa de 6meses y lo deje x los examenes, la verdad que no me acuerdo de la mitad. Pero vamos lo que estais haciendo con printf es lo primero que todo el mundo aprende, si el lunes no teneis respuesta os la digo yo, que lo miro este finde en casa. De todas maneras mirar en www.elrincondelc.com es una pagina bastante buena sobre el C. Espero que no os desanimeis xq aunque ahora os parezca sencillo, cuando empezeis con las sentencias, condiciones y variables os vais a cagar un poco. xD

En fin....
Suerte

raul84

Cagarse?? yo me cagaria con punteros, ficheros, pilas...

AcidNos

el error es el ; al final de la linea del num=0. El return sobra.

LoRTH

Si compilas eso, muy probablemente, corrigiendo el puntoycoma de la declaracion de variable, q porcierto no hace falta que le des valor, te dira algo como expecting nosekenosecuantos del main. Para solucionar eso:

int main(){
...
.....
...
.
..
.
.
return(0);
}

Igualemente te aconsejo, que en el scanf, lo pongas asi:
scanf("\n%d",&num);, asi te borra el bus del teclado, que en linux da algunos problemas. O, sino quieres usar el \n, puedes poner la libreria <conio.h> y usar la funcion fflush(); antes del scanf

Cyph3r

Aishhhh eclipse 3.1 :_)

PeLoTaSo

#2 y #3 El return es para devolver, es decir, si la función main es "void" no hay que poner return ya que no devuelve nada, aunque el compilador te dará un warning, y como decía un profesor, "Un warning es un futuro error", asi que lo lógico es hacer un "int main()" y luego un return 0; o return 1; o return 666; lo que más rabia te de.

Como ya te han dicho arriba, el error está al no poner ; al final de la declaración de la variable. Cuando el compilador te devuelva un error en una linea que no haya nada mal (aparentemente) mira justo en la linea de encima que a veces te calientas la cabeza durante media hora y es un ; en la linea de arriba.

Urien

te sobra el void eh

KoKiTO

Yo del C no kreo k me pueda cansar hasta enero polo menos ya k nos lo dan en informatica y aun no se para k lo kiero ya k estudio estadistica :/. Gracias a todos por la ayuda

PeLoTaSo

Si no estudias informática, telecomunicaciones o matemáticas no creo que te lleguen a meter punteros, simplemente os dan C para rellenar el temario de la carrera, en informática también tenemos asignaturas que no se para que nos sirven y sin embargo ahí están para rellenar, y curiosamente son las más difíciles.

ValaV

#15 Tec. Electronica....

LoRTH

#16, si, pero no deja de ser una rama de Telecos, yo la estoy haciendo, aunq intentare acabar con la licenciatura...

maRc

Cuando os metais con los punteros, sabreis porque la violación está penada por ley :P

aviamksc

el return 0 no hace falta pq como tampoco le mandas argumentos a la funcion (main en este caso), ademas de que la funcion es void.

Gandalf530

el ;
EDITADO: ya te han respondido ok

shortyStyle

has inicializado la variable "num" cuando no te hace falta hacerlo ya que es el usuario del programa el que la introduce.

pon solo

int num;

Usuarios habituales

  • shortyStyle
  • LoRTH
  • PeLoTaSo
  • KoKiTO
  • Urien
  • raul84
  • sharker