AYUDA! CON UN SIMPLE PROGRAMA.. ME DA ERROR!! POR QUE??

Iniciado por julian.97, 20 Junio 2011, 03:22 AM

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

julian.97

Hola! Soy nuevo en esto a si que estoy experimentando con programitas simples, mi problema es que al compilar esto :


/* Prog003.cpp */
#include <stdio.h>
void main ()
{
char nom[20]
printf("\nEscribe tu nombre: ") ;
scanf("%s",nom) ;
printf("\nHola %s",nom) ;
}

me da error diciendo : syntax error before "printf"
y lo mismo con el scanf y el otro printf, si mi traduccion no esta mal creo que me dice que lo escrito despues de printf esta mal. no se cual es el error  por favor ayuda! desde ya gracias!!  ;-)

julian.97

perdon, ya no me da error pero se supone que cuando lo ejecuto despues de que escribo mi nombre me tiene que decir : "hola julian " y se cierra el programa, por favor una mano! gracias  ;-)

AckeR

Te falta un punto y coma " ; " en: :-X



char nom[20];



y como consejo te podrias leer este tips, que te enseñarán algunas cosas de lo que no hay que hacer en C y C++ ;)

http://foro.elhacker.net/programacion_cc/lo_que_no_hay_que_hacer_en_cc_nivel_basico-t277729.0.html

saludos ;)

...DaR LaS GraCiaS No CuestA NadA...

julian.97

Cita de: AckeR en 20 Junio 2011, 03:34 AM
Te falta un punto y coma " ; " en: :-X



char nom[20];



y como consejo te podrias leer este tips, que te enseñarán algunas cosas de lo que no hay que hacer en C y C++ ;)

http://foro.elhacker.net/programacion_cc/lo_que_no_hay_que_hacer_en_cc_nivel_basico-t277729.0.html

saludos ;)

ok gracias, ya me di cuenta de eso  ;), pero no era por eso, tube que ponerle otro "scanf("%s",nom) ;" para que ahora ande, pero ahora no cierra hasta que no ponga mi nombre denuevo, que debo poner enves del ( "%s",nom) ? una pausa o que? porque probe con poner de esta manera


/* Prog003.cpp */
#include <stdio.h>
void main ()
{
char nom[20] ;
printf("\nEscribe tu nombre: ") ;
scanf("%s",nom) ;
printf("\nHola %s",nom) ;
system("PAUSE") ;
return 0;
}

pero me aparece "Hola JulianPresione una tecla para continuar . . ."
y la idea es que no quede todo junto, que debo poner? gracias  ;-)

Acermax

Pues otro salto de línea con \n en el printf, despues del string. Es decir

Código (cpp) [Seleccionar]

printf("\nHola %s\n",nom) ;

AckeR

Cita de: julian.97 en 20 Junio 2011, 03:55 AM
ok gracias, ya me di cuenta de eso  ;), pero no era por eso, tube que ponerle otro "scanf("%s",nom) ;" para que ahora ande, pero ahora no cierra hasta que no ponga mi nombre denuevo, que debo poner enves del ( "%s",nom) ? una pausa o que? porque probe con poner de esta manera

Lógicamente ya que estas solicitando dos veces que ingrese datos con "SCANF()"
bastaría con colocar solo un scanf


#include <stdio.h>

int main ()
{
char nom[20];
printf("\nEscribe tu nombre: ");
fgets(nom,20,stdin);
printf("Hola %s \n",nom);
getchar();

return 0;
}


Y para que no aparezca todo junto haz lo que dice Acermax.

Suerte!

...DaR LaS GraCiaS No CuestA NadA...

julian.97

OK GRACIAS A LOS 2!!!!!!!!! ;D!!! voy a probar con eso!! despues comento si me funciono,  ya probe de esta manera y me funciono :codigo :
{
\* Prog003 *\
#include <stdio.h>
main()
char nom [20] ;
printf("\nDime tu nombre" :) ;
scanf("%s",nom) ;
printf("\nHola %s como estas?")
scanf("%s",nom)
printf("\nDebo irme chau!")
scanf("%s",nom)
}

asi me funciono el dialogo quedo algo asi;
pc:dime tu nombre
yo:julian
pc:hola julian como estas?
yo:bien
pc:debo irme chau!
yo: chau!

y cuando digo chau se cierra el programa, este lo hice yo pero tambien voy a probar con la forma original poniendo otro \n como dijo acermax,GRACIAS A LOS 2 , y voy a probar con el codigo que puso el ultimo en comentar.. no me acuerdo tu nombre..ejje saludo!! ;-)