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 - dalberto9410

#1
Bueno tenía una duda respecto al lenguaje, ya sé que es ASM, pero he visto que hay NASM, FASM,MASM y no sé si habrá más, yo he estado estudiando NASM pero me interesaría aprender el lenguaje con el que trabaja Olly?
#2
Programación C/C++ / Re: Duda con fgets
27 Marzo 2013, 07:27 AM
Gracias rir3760 no sabia que existia "Puts" yo siempre usaba salto de línea '\n' ....
joder con esto me ahorro mucho xD  ;-) ;-) ;-)
#3
Programación C/C++ / Re: Duda con fgets
27 Marzo 2013, 06:45 AM
Ya probé el codigo que me diste y lo entendi según lo poco que sé,creo que allí lo que estas haciendo es crear una variable p que es un puntero y coje la direccion donde encuentre un salto de linea y lo remplace por '\0' no?
Ah y otra cosa como es el funcionamiento de puts? me podrías explicar D:
Graax por responder :D
#4
Programación C/C++ / Duda con fgets
27 Marzo 2013, 06:07 AM
Hola, aquí yo de nuevo xD ayer puse una duda que tenia y se resolvia usando fgets allí todo bien pero he estado probando y cuando uso fgets se salta una linea

#include<stdio.h>
typedef struct fecha{int dia;int mes;int año; }d_t;
typedef struct contacto{char nombre[80];unsigned int tel; d_t fecha_nacimiento; }c_t;

d_t crear_fecha(){   d_t nueva_fecha;
printf("\nIngrese el dia: "); scanf("%d",&nueva_fecha.dia);  while(getchar()!='\n');
printf("\nIngrese mes: ");    scanf("%d",&nueva_fecha.mes);  while(getchar()!='\n');
printf("\nIngrese año:" );    scanf("%d",&nueva_fecha.año); while(getchar()!='\n');
return nueva_fecha;        }

c_t crear_contacto(){  c_t nuevo_contacto;
printf("\nIngrese nombre: ");
fgets(nuevo_contacto.nombre,80,stdin);
//scanf("%[^\n]s",nuevo_contacto.nombre);
printf("\nIngrese telefono: ");  scanf("%d",&nuevo_contacto.tel);
//asignar fecha de nacimiento
nuevo_contacto.fecha_nacimiento=crear_fecha();
return  nuevo_contacto;   }

c_t imprimir(){

}
int main (void){   c_t c1;
c1=crear_contacto();
imprimir(c1);

printf("Nombre: %s, Telefono %d, Fecha Nacimiento: %d/%d/%d",
c1.nombre,c1.tel,c1.fecha_nacimiento.dia,c1.fecha_nacimiento.mes,c1.fecha_nacimiento.año);

return 0; }

Aca el resultado de la salida

Ojo que con scanf no ocurre eso pero quisiera hacerlo con fgets :/

Gracias de antemano!! Saludos.
#5
ah bueno vale ! ahora si puedo seguir .....
grax :D
#6
Y como limpiar el buffer ? xd

#include<stdio.h>
struct contacto{
char nombre[40],direccion[80];
int edad;
int telefono;
};
typedef struct contacto cont;
int main (void){
cont c1;
printf("Ingrese el nombre\n");
fgets(c1.nombre,40,stdin);
while(getchar()!='\n');
printf("Ingrese direccion\n");
fgets(c1.direccion,80,stdin);
while(getchar()!='\n');
printf("Ingrese edad\n");
scanf("%d",&c1.edad);
while(getchar()!='\n');
printf("Ingrese telefono\n");
scanf("%d",&c1.telefono);
while(getchar()!='\n');
printf("----------------------------\n");
printf("Nombre: %s\n Direccion: %s\n Edad %d\n Telefono %d \n",
c1.nombre,c1.direccion,c1.edad,c1.telefono);
//printf("%s\n",c1.nombre);
return 0;
}



lo estuve haciendo así y esta mal por que tengo que dar doble enter o estoy usando mal el while(getchar!='\n'); ???  :( como podría mejorar el code
graax de antemano  ;D
#7
 :silbar: si tienes razón estaba haciendo algo mal  xd y  :silbar:
Gracias de nuevo avesudra
#8
gracias avesudra había visto un tutorial de C donde decía que no se podía hacer directamente... bueno y me la creí gracias por la respuesta, lo que si no entiendo es el fgets como funciona este? ya que si me paso de 40 caracteres = sale el error de stack smashing :/

Gracias! :)
#9
Hola!
hace unos días que comenze a programar en C y he llegado a la parte de estructuras. Antes limpiaba el buffer utilizando

while(getchar()!='\n');

después de leer el dato con scanf, pero ahora que he llegado a estructuras, al parecer no puedo usar scanf directamente y se usa el gets(), bien con scanf el código antes mostrado para limpiar el buffer funcionaba perfecto, pero ahora con el gets no! a la hora que ingreso un nombre y doy enter queda en una linea nueva y tengo que dar otro enter para que recien pase a la impresion del nombre cosa que no debería pasar ... aca mi código..


#include<stdio.h>
struct contacto{
char nombre[40],direccion[80];
int edad;
long telefono;
};
typedef struct contacto cont;
int main (void){
cont c1;
printf("Ingrese el nombre\n");
gets(c1.nombre);
printf("%s\n",c1.nombre);
return 0;
}
Como podría limpiar el buffer entonces?

Saludos y gracias de antemano ! ;D
#10
uu Obtener claves WEP es sencillo pero WPA/WPA2 que se necesita diccionario, si pones una clave creativa como chupa._.@¬¬ nunca te la sacaran a menos que esa clave la tenga el diccionario que es poco probable, solucion mas facil seria ir y extorsionar a la victima xd. :laugh: :laugh: