Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - DickGumshoe

#31
Vayamos paso por paso:
Citar-->¿Cómo te llamas? Nombre Apellido --> Variable nombre contiene "Nombre Apellido"
Hola Nombre Apellido, por favor, introduce lo siguiente: (¿Hasta aquí todo bien?)
Dónde vives? Ahora sé que.... -->Al pone su nombre scanf dejó buffer en el teclado, y no ha podido introducir su lugar de residencia. Como la variable no está inicializada, el ordenador coge lo que tenga en ese momento, que en este caso ha sido "¿>"

Esto fue una prueba en C.

#32
Programación C/C++ / Re: ayuda en C
21 Octubre 2012, 14:35 PM
Cita de: howaboutno en 21 Octubre 2012, 14:30 PM
Muchas gracias por vuestra ayuda!!
al saber que estaba todo bien he creado un proyecto nuevo, he copiado y pegado el codigo y ahora si que funciona...a saber porque
ahora solo me falta hacerlo mediante funcion :D

A mí me pasaba mucho en Dev C++, así que cambié de IDE.
#33
Leosansan, no tiene declarada la variable apellido porque en su ejemplo, su nombre completo es "Nombre Apellido" (es una sola cadena, ergo no hacen falta dos variables).

Porque el printf lleve '\n' nadie ha dicho que haya que limpiar el buffer, sino porque el scanf() deja un '\n' al pulsar 'intro' (usando "%100[^\n]", %d, %f, etc.; pero usando %s, como bien sale en tu ejemplo, no).

Edito: Otra cosa. "%100[^\n]" permite escribir espacios en una cadena, %s no.
#34
Programación C/C++ / Re: ayuda en C
21 Octubre 2012, 14:03 PM
A mí también me funciona bien.

EDITO: Nada, también lo explicó leosansan lo que iba a decir.

Un saludo.
#35
La función scanf() deja basura en el buffer del teclado. Es decir, cuando pulsas "intro" en el primer scanf(), te lee lo que has puesto, pero deja el '\n' de la tecla "intro" en el buffer. Así, el segundo scanf() obtiene directamente ese '\n' que se dejó, por lo que no podrás introducir nada.

Para solucionarlo, prueba a poner getchar(); justo después de scanf(); Lo que hace es leer un carácter (y, por tanto, el buffer del teclado quedará limpio).

Por cierto, te recomiendo usar gets() para leer cadenas de caracteres  ;)

Un saludo!
#36
Programación C/C++ / Re: Problema con funcion
30 Septiembre 2012, 00:18 AM
Algunos errores que he encontrado:

- En el prototipo de la función, tienes que declarar "letras" como un puntero, puesto que sino estás declarando un carácter en vez de una cadena de caracteres:

int contador(int i, char *letras)

- Cuando en main llamas a la función, no tienes que poner el tipo de cada variable, es decir, debes poner esto:

x =  contador(i,  cadena);

- La variable "i" no es necesaria pasarla por parámetros, puesto que la declaras en la propia función y después devuelves el resultado.

- La función scanf solo lee las cadenas de caracteres hasta el primer espacio encontrado. Para leer cadenas es mejor usar gets. Por tanto, el programa quedaría así:

#include <stdio.h>

int contador(char* letras){ //Es un array, no un solo carácter. No es necesario pasar "i" por parámetros.
int i;
for (i=0;letras [i]!='\0';++i);
return i;
}

int main() {
    int x;
    char cadena [80];
    gets(cadena); //Scanf solo lee hasta el primer espacio. Para leer cadenas es recomendable usar gets
    x =  contador(cadena); //No se ponen los tipos de las variables.
    printf ("\nEl texto tiene %d caracteres.\n", x);
    printf ("\nPresione ENTER para salir:");
    while (getchar()!='\n')
        ;
    return 0;
}
#37
GNU/Linux / Re: Editor de codigo
29 Septiembre 2012, 16:50 PM
Yo en Linux uso el editor de texto que viene por defecto (Pluma).

Tiene la función de "colorear" el texto en muchísimos lenguajes y es muy completo (si solo lo quieres para escribir el código y después vas a compilar con gcc).

Un saludo.
#38
Programación C/C++ / Re: Proyecto C/C++
29 Septiembre 2012, 14:45 PM
Voy a ir viendo librerías de sockets y los archivos que me ha pasado 0xDani por Skype, pero lo más seguro es que no pueda ayudar en casi nada, porque no sé C++.
#39
¡Muchísimas gracias por tu ayuda! Nada más activar PAE/NX me ha empezado a ir bien.

Saludos.
#40
Hola.

Hace poco instalé Linux Mint en Virtualbox, y me acabo de dar cuenta que al ver vídeos (solo he probado en Internet (YouTube), no ninguno descargado, pero dudo que sea por el mi Internet porque en Windows me va perfecto.

También he notado que se ralentiza un poco cuando arrastro una pestaña de Google Chrome y cosas así...

De los 6GB de RAM que tiene mi portátil, le he dedicado 2GB a Linux Mint en Virtualbox. También le he dado 128MB de memoria de vídeo (el máximo que permite VB), y he probado a habilitar y deshabilitar aceleración 3D, y nada...

Muchas gracias.

Un saludo.