C/Visual C - Ayuda con variables en C

 
Vista:

Ayuda con variables en C

Publicado por Jc (6 intervenciones) el 27/08/2006 20:43:13
Luego de programar en varios lenguajes, me vi en la necesidad de aprender C. Lo hago con gusto, a pesar de encontrame con problemas como los de este programa.

#include <stdio.h>
#include <string.h>

int main()
{
char nombre[20]="";
int i;

i=strlen(nombre);

do
{
printf( "Escribe una cadena (Hasta 20 caracteres) " );
scanf( "%s", nombre );
i=strlen(nombre);
}
while (i>20 || i<0);

printf( "Tu cadena al reves:\n" );
for( i=strlen(nombre)-1; i>=0; i-- )
putchar( nombre[i] );
printf( "\n" );

return 0;
}

Parti por programar lo más fácil primero. Se trata ede ingresar una cadena y mostrarla al revés. Limité el largo a 20 caracteres. El ciclo funciona correctamente, pues al sobrepasar ese rango, se pide reingresar la cadena, pero de algunos reintentos en programa termina con error. Pienso que talvés es necesario limpiar la variable por cada vuelta en el ciclo DO, pero es justamente lo que no he podido hacer.
La ayuda se agradece de ante mano.

Juan Carlos Campos N.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Ayuda con variables en C

Publicado por Abraham Verde (25 intervenciones) el 28/08/2006 05:05:09
Hola! prueba leer la cadena con gets. seria algo asi:

do
{
printf( "Escribe una cadena (Hasta 20 caracteres) " );
gets(nombre);
i=strlen(nombre);
}
while (i>20 || i<0);

A veces el scanf en el manejo de cadenas no es recomendable.
Espero t ayude!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ayuda con variables en C

Publicado por Jc (6 intervenciones) el 28/08/2006 05:42:06
Gracias...!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ayuda con variables en C

Publicado por Javier Medina (3 intervenciones) el 04/09/2006 18:36:28
#include <stdio.h>
#include <string.h>

int main(){
char nombre[20]="";
int i;

do{
printf( "Escribe una cadena (Hasta 20 caracteres) " );
scanf( "%s", &nombre );
i=strlen(nombre);
}while (i>20 || i<0);

printf( "Tu cadena al reves:\n" );
for( i=strlen(nombre)-1; i>=0; i-- )
putchar( nombre[i] );
printf( "\n" );

return 0;
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar