/
Inicio :: Foros

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

guardar palabras 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: 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

MensajePublicado: 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
      Í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