Autor
|
Tema: Pregunta sobre leer nombre por pantalla en C (Leído 6,216 veces)
|
ZedGe
Desconectado
Mensajes: 154
|
Tengo una estructura tipo agenda, y necesito que al preguntar por un nombre se pueda ingresar Juanito Perez y al imprimirlo nuevamente salga Juanito Perez tengo la declaracion Lo pregunto y lo guardo como scanf("%s",&nuevo->Nombres);fflush(stdin); y al imprimir solo me sale Juanito trabajo con listas enlazadas por eso el -> y la estructura
|
|
|
En línea
|
|
|
|
Ferno
Desconectado
Mensajes: 375
|
¿Podrías postear la declaración de toda la estructura y la parte del código donde lees el nombre? A simple vista, declarase el campo nombre, y estás guardando en un campo nombres, los cuales son diferentes (por la "s" del final, pero supongo que es sólo un error de tipeo. Otra cosa, fflush es una función para archivos de salida, no es recomendable usar fflush(stdin).
|
|
|
En línea
|
|
|
|
BlackZeroX
Wiki
Desconectado
Mensajes: 3.158
I'Love...!¡.
|
independientemente de como tengas la lista... char szReaderBuffer[255]; memset(szReaderBuffer , 0, 255); // No es necesario pero yo siempre lo hago... fgets(szReaderBuffer , 255, stdin ); // Escaneamos la entrada de datos NO IMPORTA SI HAY ESPACIOS... solo importa la longitud!¡. fprintf(stdout , "%s\n", szReaderBuffer );// Imprimimos. // fflush(stdout); // Forzamos la salida de datos... Solo si hay errores... return EXIT_SUCCESS;
Si no te sirve el codigo anterior entonces hay algo mal declarado en tu codigo... Nota: http://foro.elhacker.net/programacion_cc/lo_que_no_hay_que_hacer_en_cc_nivel_basico-t277729.0.htmlDulces Lunas!¡.
|
|
« Última modificación: 26 Diciembre 2011, 06:54 am por BlackZeroX (Astaroth) »
|
En línea
|
The Dark Shadow is my passion.
|
|
|
Caster
|
Utiliza fgets(); Saludos
|
|
|
En línea
|
|
|
|
ZedGe
Desconectado
Mensajes: 154
|
Utiliza fgets(); Saludos
el fgets usa un fichero char *fgets(char *cadena, int n, FILE *stream); con el codigo de demon no puedo guardar la variable en mi lista enlazada aqui mi estructura del codigo #ifndef ESTRUCTURAS_H_INCLUDED #define ESTRUCTURAS_H_INCLUDED
typedef struct datosClientes{ char RUT[15]; char Nombres[15]; char Apellidos[15]; } Datos;
typedef struct Nodo { Datos Persona; struct Nodo *sgte; } Nodo;
typedef struct Lista { Nodo *inicial; } Lista;
typedef int posicion;
#endif // ESTRUCTURAS_H_INCLUDED
|
|
|
En línea
|
|
|
|
Eternal Idol
Kernel coder
Moderador
Desconectado
Mensajes: 5.966
Israel nunca torturó niños, ni lo volverá a hacer.
|
ZedGe: tambien podes usar stdin con fgets, lee el ejemplo que te dejaron antes.
|
|
|
En línea
|
La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste. Juan Domingo Perón
|
|
|
ZedGe
Desconectado
Mensajes: 154
|
ZedGe: tambien podes usar stdin con fgets, lee el ejemplo que te dejaron antes.
Lo uso, pero al querer poner ese szReaderBuffer[255] = nuevo->Persona.Nombre me dice que no puedo guardar un char[xx] a un char*
|
|
|
En línea
|
|
|
|
Eternal Idol
Kernel coder
Moderador
Desconectado
Mensajes: 5.966
Israel nunca torturó niños, ni lo volverá a hacer.
|
LEE de nuevo y presta atencion, no intentes asignar cadenas.
|
|
|
En línea
|
La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste. Juan Domingo Perón
|
|
|
BlackZeroX
Wiki
Desconectado
Mensajes: 3.158
I'Love...!¡.
|
ammm... #define SIZE_RUT 15 #define SIZE_NAME 15 #define SIZE_SURNAME 15 //typedef struct DataClient_ DATACLIENT, *LPDATACLIENT; //typedef struct Node NODE, *LPNODE; typedef struct DataClient_ { char szRut[SIZE_RUT]; char szName[SIZE_NAME]; char szSurName[SIZE_SURNAME]; } DATACLIENT, *LPDATACLIENT; typedef struct Node_ { DATACLIENT dataClient; Node_* lpNext; } NODE, *LPNODE;; /* ///No le veo utilidad a esta estructura... typedef struct LIST { Nodo *lpBEGIN; } LIST, *LPLIST; */ void unloadNodes(LPNODE lpNode) { if (!lpNode) return; unloadNodes(lpNode->lpNext); fprintf(stdout , "%s\n", lpNode ->dataClient. szName); // Antes de descargas mostramos... } int main() { LPNODE lpNodeFirst = (LPNODE )malloc(sizeof(NODE )); LPNODE lpNodeNow = lpNodeFirst; int i = 0; for (i = 0; i < 10; ++i) { memset(lpNodeNow ->dataClient. szName, 0, (SIZE_NAME - 1)); fgets(lpNodeNow ->dataClient. szName, (SIZE_NAME - 1), stdin ); lpNodeNow ->lpNext = (i < 9) ? (LPNODE )malloc(sizeof(NODE )): NULL ; lpNodeNow = lpNodeNow->lpNext; } /// Descargar TODOS los Nodos empesando desde el ultimo. unloadNodes(lpNodeFirst); return EXIT_SUCCESS; }
Dulces Lunas!.
|
|
« Última modificación: 26 Diciembre 2011, 15:20 pm por BlackZeroX (Astaroth) »
|
En línea
|
The Dark Shadow is my passion.
|
|
|
ZedGe
Desconectado
Mensajes: 154
|
okas gracias con el código queda mas claro
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
pregunta sobre la captura de video en pantalla
Multimedia
|
interruptor
|
2
|
2,218
|
5 Septiembre 2007, 09:36 am
por interruptor
|
|
|
AYUDA CON BAT, LEER NOMBRE DE ARCHIVO...
Scripting
|
elecktra
|
3
|
3,104
|
28 Noviembre 2008, 00:56 am
por Darioxhcx
|
|
|
Duda sobre leer datos por pantalla y capturarlos
Java
|
ZedGe
|
4
|
4,181
|
10 Junio 2011, 15:59 pm
por Valkyr
|
|
|
Pregunta sobre gitaneo: ¿Cual es el nombre de esta artista?
Foro Libre
|
Eleкtro
|
7
|
2,867
|
10 Diciembre 2015, 08:24 am
por Eleкtro
|
|
|
ifstream y while para leer lineas.. pregunta sobre sintaxis..
Programación C/C++
|
digimikeh
|
2
|
1,660
|
2 Marzo 2019, 03:47 am
por digimikeh
|
|