elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recopilación Tutoriales y Manuales Hacking, Seguridad, Privacidad, Hardware, etc


  Mostrar Mensajes
Páginas: 1 [2]
11  Programación / Programación C/C++ / ayuda con ejercicio sencillo en: 30 Octubre 2010, 02:28 am
he hecho un ejercicio que lee una frase y luego te pide un caracter que comprueba en que posiciones de la frase esta (si esta en la frase). luego te pregunta si quieres buscar otro caracter diferente..

tengo un problema, y es que cuando el usuario escribe mas de un caracter por error, los distintos scanf leen caracter por caracter todos los que se introdujeron (ni siquiera poniendo \n lo solucione)
la unica solucion que se me ocurrre usando scanf es usar fflush.. pero no me dejan usar esa funcion.

que cosas cambiariais para que funcionase mejor o que le quiariais / añadiriais???

gracias!

Código:

#include <stdio.h>
#include <stdlib.h>
#define MAX_LONG 100

void main()
{

char c[MAX_LONG], cb, c2[MAX_LONG], cond, encont; int i;

printf("Introduce una frase:\n\n");
fgets(c,99,stdin);

do
{

cond = 'N';
printf("\nIntroduce caracter a buscar: ");
scanf("\n%c",&cb);

for(i=0, encont = 'N';(i<MAX_LONG) && (c[i] !='\0');i++)
{
if (c[i] == cb) {c2[i] = 'V'; encont = 'S';}
else {c2[i] = 'F';}
}

if (encont == 'S')
printf("Se ha encontrado el caracter buscado (%c) en las posiciones de la cadena: ", cb);
else
printf("No se ha encontrado el caracter buscado (%c)", cb);

for(i=0;(i<MAX_LONG) && (c[i] != '\0');i++) {if (c2[i] == 'V') printf("%d, ", i);}


printf("\n\nDesea buscar otro caracter??(Contesta S o N): ");
scanf("\n%c", &cond);

}while((cond == 'S')||(cond == 's'));



printf("\n");
system("pause");
}

12  Programación / Programación C/C++ / Re: leer frase en: 30 Octubre 2010, 01:25 am
gracias por vuestras respuestas me han dado algunas ideas!
13  Programación / Programación C/C++ / Re: ¿Diferencia entre C++ y Visual C++? en: 28 Octubre 2010, 23:36 pm
C++ es un lenguaje de programacion mientras que Visual C++ es un IDE (Entorno Integrado de Desarrollo) es el compilador de Microsoft.

Ahhh, pero una cosa, a la hora de programar, ¿es la misma programación? me refiero al lenguaje si es el mismo

Me parece que te estas liando un poco jeje busca la diferencia entre lenguaje de programacion (como por ejemplo C++, Visual Basic, Java, etc) y IDE (que es el programa que se utiliza para poder "crear" programas a partir de el codigo que tu escribes en el lenguaje de programacion que el IDE requiere).
cuando veas la diferencia podras entender lo que te intentamos decir jeje

respondiendo a tu pregunta: Visual C++ es un compilador para el lenguaje de programacion C y C++
14  Programación / Programación C/C++ / Re: leer frase en: 28 Octubre 2010, 23:32 pm
muchas gracias!

no hay ningun modo de hacerlo con scanf??
15  Programación / Programación C/C++ / leer frase con scanf en: 28 Octubre 2010, 20:03 pm
como puedo hacer para leer una frase introducida en la consola??

probe con scanf pero solo lee hasta cuando hay un espacio!

muchas gracias!
16  Programación / Programación C/C++ / Re: funcion scanf ayuda! en: 27 Octubre 2010, 13:50 pm
¡Buenas!

El porblema con scanf, es que si quieres leer un dato, para realizar la lectura tienes que pulsar intro, y es entonces cuando la funcion lee datos. Lo que pasa es que cuando tu pulsas intro estas introduciendo un '\n' en stdin, y ese '\n', scanf no lo lee, se queda en stdin, asi que cuando realizas la siguiente lectura, tienes un caracter "inesperado" que te estorba para hacer segun que cosas.

utiliza fgets+sscanf. En las chinchetas tienes un post sobre que es lo que no hay que hacer en C. Echale un ojo y encontraras datos utiles.

¡Saludos!

entonces a ver si he entendido bien.

si yo introdujera un dato y pulso enter un scanf normal me lo debe leer correctmente

pero a la hora de querer leer un dato nuevo en otra linea ahi si debo poner \n para que lo lea correctamente no es asi? gracias!
17  Programación / Programación C/C++ / funcion scanf ayuda! en: 27 Octubre 2010, 01:47 am
Hola a todos!

es mi primer mensaje en este foro!

estoy haciendo todas las semanas unas practicas en la universidad.. en las practicas suelo utilizar la funcion scanf para leer datos.

el problema es que no me dejan utilizar fflsuh y entonces tengo que estar metiendo \n en los scanf de la siguiente manera:

Código:
scanf("\n%d",numero);

la pregunta es que no entiendo que pasa cuando le metes /n al scanf y porque a veces da = meterlo o no y otras si es necesario!! gracias!
Páginas: 1 [2]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines