/
Inicio :: Foros

 F.A.Q.F.A.Q.                  Conéctese para revisar sus mensajesConéctese para revisar sus mensajes   

ingresar palabra a txt hacia abajo

 
      Índice del Foro elrincondelc.com -> Principiantes C/C++
Ver tema anterior :: Ver siguiente tema  
AutorMensaje
crissepul



Registrado: 10 Abr 2007
Mensajes: 14
Ubicación: la granja

MensajePublicado: 06/09/2007 3:10 pm
Título: ingresar palabra a txt hacia abajo

hola tengo el siguiente problema puedo ingresar palabras a un txt pero las hace hacia al lado, yo quiero q me ingrese una abajo de otra ojala me puedan ayudar

#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

MensajePublicado: 07/09/2007 9:30 pm
Título: Re: ingresar palabra a txt hacia abajo

crissepul escribió:
tengo el siguiente problema puedo ingresar palabras a un txt pero las hace hacia al lado, yo quiero q me ingrese una abajo de otra

Honestamente no entiendo a que te refieres con "hacia al lado", ¿Puedes por favor explicarte con mas detalle?

Tambien tienes que corregir los errores que ya mencione en (el otro) tema ingresar palabra a .txt.

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
      Índice del Foro elrincondelc.com -> Principiantes C/C++
Página 1 de 1Todas las horas están en GMT - 8 Horas

 
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas

(c) ElRincondelC.com

Un proyecto de UrlanHeat.com