Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Como modifico esto?

Estas en el tema de Como modifico esto? en el foro de C/C++ en Foros del Web. Hola, tengo el siguiente codigo que funciona { int c; printf("Procesando Liquidacion"); /* skip white space */ while ((c = getchar ()) == ' ' ...
  #1 (permalink)  
Antiguo 07/07/2006, 12:41
 
Fecha de Ingreso: junio-2005
Mensajes: 337
Antigüedad: 19 años, 7 meses
Puntos: 1
Como modifico esto?

Hola, tengo el siguiente codigo que funciona

{
int c;
printf("Procesando Liquidacion");
/* skip white space */
while ((c = getchar ()) == ' ' || c == '\t')
;
/* process numbers */
if (c == '.' || isdigit (c))
{
ungetc (c, stdin);
scanf ("%lf", &yylval);
return NUM;
}
/* return end-of-file */
if (c == EOF) /* a CNTRL-D from keyboard */
return 0;
/* return single chars */
return c;

}


Yo lo que estoy tratando de hacer (fallidamente hasta el momento) es que en lugar de que me pida los datos por teclado, poder pasarselos yo como argumento. Intente haciendo lo siguiente:

{
int main (int argc,char*argv[]) {
int c;
printf("Procesando Liquidacion");
/* skip white space */
printf("\n%s",*argv[1]);
while ((c = *argv[1] ) == ' ' || c == '\t')
;
/* process numbers */
if (c == '.' || isdigit (c))
{
ungetc (c, stdin);
scanf ("%lf", &yylval);
return NUM;
}
/* return end-of-file */
if (c == EOF) /* a CNTRL-D from keyboard */
return 0;00;
/* return single chars */
return c;

}}
Me esta permitiendo compilarlo, pero cuando lo ejecuto me dice syntax error.

Me ayudan? gracias!
  #2 (permalink)  
Antiguo 08/07/2006, 03:44
Avatar de yournightmare86  
Fecha de Ingreso: abril-2006
Ubicación: Madrid
Mensajes: 875
Antigüedad: 18 años, 8 meses
Puntos: 9
No te falta la llave que abre el while?
  #3 (permalink)  
Antiguo 08/07/2006, 11:33
lpz
 
Fecha de Ingreso: abril-2006
Ubicación: Argentina
Mensajes: 402
Antigüedad: 18 años, 8 meses
Puntos: 2
Aunque no me puse a ver lo que hace el programa, mas o menos lo ordene y faltan algunas cosas y otras estan mal. Como lo tipee abajo compila aunque no se si hace lo que debe.

#include <stdio.h>
#include <ctype.h>

int main (int argc,char* argv[]) {
int c;
printf("Procesando Liquidacion");
/* skip white space */

printf("\n%s",*argv[1]);

while ((c = *argv[1] ) == ' ' || c == '\t')
;

/* process numbers */
if (c == '.' || isdigit (c))
{
ungetc (c, stdin);
scanf ("%lf", &yylval);
return NUM;
}
/* return end-of-file */
if (c == EOF) /* a CNTRL-D from keyboard */
return 0;00;
/* return single chars */
return c;

}

&yylval es una variable que no existe.. Yo probe poniendo otra que exista y compila.

Justo abajo de esa linea hay un RETURN NUM.. num tampoco existe, por eso tira error.

Te falto el #include <ctype.h>
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:59.