| Ver tema anterior :: Ver siguiente tema | | Autor | Mensaje |
|---|
crissepul
Registrado: 10 Abr 2007 Mensajes: 14 Ubicación: la granja
| Publicado: 08/09/2007 5:42 pm | | | Título: guardar palabras a txt hacia abajo |
| hola muchas gracias por sus respuesta a lo que me refiero con q las ingrese hacia abajo es lo sigiente:
cuando ingreso palabras me las ingresa hacia el lado ejemplo:
cristian tarea juego etc........... yo deseo q las ingrese haci:
cristian tarea juego
de antemano muchas gracias
#include <stdio.h> #include <string.h> #include <stdlib.h>
#define largo_n 25 #define largo_total 30
typedef struct { char caracteres[largo_n]; struct palabra *sig; } palabra; palabra *head_pal;
void guardar_palabra(char pala[largo_n]); void leer_palabra(char c[largo_total]); void libera_palabra(); void ingresar_palabra(); void Menu (); int texto(char w[largo_total]); char* texto_e(char w[largo_total]);
main() { int opcion; printf("\nMENU PRINCIPAL"); do{ printf("\n\n .1 Agregar palabra"); printf("\n .2 Eliminar palabra"); printf("\n .3 Salir"); printf("\n\nIngrese su opcion: "); scanf("%d", &opcion); switch(opcion) { case 1: libera_palabra(); ingresar_palabra(); break; }
if (opcion == 3) printf("\nUsted ha salido del sistema\n\n"); if (opcion < 1 || opcion > 3) { printf ("\nOpcion incorrecta... vuelva a intentarlo"); } } while(opcion != 3); }
void leer_palabra(char c[largo_total]) { char caracteres[largo_n]; char c_aux[50]; strcpy(c_aux,c);
int n; int i;
n = texto(c); for(i=0;i<n;i++){ caracteres[i]=c[i];} for(i=n;i<2*n;i++){ caracteres[i]=NULL;} strcpy(c,texto_e(c)); guardar_palabra(caracteres); }
int texto(char w[largo_total]) { int i; char w_aux[largo_n]; i=0; while(w[i]!=NULL) { w_aux[i] = w[i]; i++; } return i; } char* texto_e(char w[largo_total]) { int i; int j; int z; i=0; char w_aux[largo_total]; while(w[i]!=',') { i++; } i++; z=i; for(j=0;j<largo_total-i;j++) { w_aux[j] = w[i]; i++; } return w_aux; }
void guardar_palabra (char pala[largo_n]) { palabra *nueva_pal; nueva_pal = (palabra *)malloc(sizeof(palabra));
if(head_pal==NULL) { nueva_pal->sig = NULL; strcpy(nueva_pal->caracteres,pala); head_pal = nueva_pal; } else { palabra *aux; aux = head_pal;
while(aux->sig!=NULL) { aux=aux->sig; } strcpy(nueva_pal->caracteres,pala); nueva_pal->sig = NULL; aux->sig = nueva_pal; } }
void ingresar_palabra() { char caracteres[largo_n];
FILE *_f; char cadena[largo_total]; _f = fopen("dictionary.txt","rt"); if(_f==NULL){printf("error en el archivo");} while(fgets(cadena,largo_total,_f)!=NULL) { leer_palabra(cadena); } fclose(_f); printf("Escriba la palabra que desea ingresar:" ); gets(caracteres);gets(caracteres); guardar_palabra(caracteres);
FILE *f_;
f_ = fopen("dictionary.txt","wt"); if(f_==NULL) printf("error en el archivo");
palabra *aux; aux = head_pal;
while(aux!=NULL) { fputs((aux->caracteres),f_);
aux = aux->sig; } fclose(f_); }
void libera_palabra() { palabra *aux_head_pal; aux_head_pal = head_pal; if(head_pal!=NULL) { while(head_pal->sig!=NULL) { head_pal = head_pal->sig; free(aux_head_pal); aux_head_pal = head_pal; } head_pal=NULL; free(head_pal); } } |
| | Volver arriba | |  | rir3760

Registrado: 01 Oct 2004 Mensajes: 3657 Ubicación: Mexico
| Publicado: 09/09/2007 7:13 am | | | Título: Re: guardar palabras a txt hacia abajo |
| | crissepul escribió: | hola muchas gracias por sus respuesta a lo que me refiero con q las ingrese hacia abajo es lo sigiente:
cuando ingreso palabras me las ingresa hacia el lado ejemplo:
cristian tarea juego etc........... yo deseo q las ingrese haci:
cristian tarea juego |
Sigo sin entender a que te refieres con eso, si lo que quieres es limitar la entrada del usuario a una sola palabra tendrias que utilizar el API del SO o una biblioteca de terceros como conio.
Tambien seria bueno que colocaras el codigo fuente de tu programa utilizando las etiquetas code ya que asi es mas facil de leer. Tambien tienes que corregir los errores que ya te mencione en el otro tema.
Un saludo _________________ The capacity to learn is a gift; The ability to learn is a skill; The willingness to learn is a choice. -- Rebec of Ginaz |
| | Volver arriba | |  | | |
| No puede crear mensajes No puede responder temas No puede editar sus mensajes No puede borrar sus mensajes No puede votar en encuestas
|
|
| |