Olviden el problema, lo resolví de otra manera y funcionó, gracias por las lecturas de todas formas.
PD: sam, mi idea era asignarle el valor de una cadena a otra, osea si nombre era alexander, asignar es enombre a otra cadena y uego montarla en la factura, pero ya lo resolví. Hice la ultima parte así y funcionó.
Código C:
Ver originalvoid factura()
{
int edad=0, edaddos=0;
char nombre[20],nombredos[20], apellido[20], apellidodos[20], cedula[20], cedulados[20];
char cedulatres[20], direccion[50], direcciondos[50];
int u=0, n=0;
char nombrep[20], nombrepdos[20], codigo[20], codigodos[20], tipo[20], tipodos[20];
float costo=0, costodos=0;
FILE *producto;
FILE *persona;
FILE *factura;
printf("\nIntroduzca un numero de cedula, para verificar si ya esta registrado\n\n"); if ((persona
=fopen("persona.txt", "a+")) == NULL
) {
printf ("\nError al abrir el archivo\n");
}
else
{
{
fscanf(persona
,"%s %s %s %d %s",cedula
,nombre
, apellido
, &edad
, direccion
); u
= strcmp(cedula
,cedulatres
); if (u==0)
{
if ((factura
=fopen("factura.txt", "w")) == NULL
) {
printf ("\nError al abrir el archivo\n"); }
else
{
fprintf(factura
, "%s %s %s %d %s",cedula
,nombre
, apellido
, edad
, direccion
); break;
}
break;
}
}
}
if (u!=0)
{
printf ("\nLa persona no se encuentra registrada, por favor registrela presionando la opcion -1- en el menu\n"); }
printf("\nIntroduzca el codigo del producto\n\n"); if ((producto
=fopen("producto.txt", "r+")) == NULL
) {
printf ("\nError al abrir el archivo\n");
}
else
{
{
fscanf(producto
,"%s %s %s %f", codigo
, nombrep
, tipo
, &costo
); if (n==0)
{
if ((factura
=fopen("factura.txt", "a+")) == NULL
) {
printf ("\nError al abrir el archivo\n"); }
else
{
fprintf(factura
, "%s %s %s %f", codigo
, nombrep
, tipo
, costo
); break;
}
break;
}
}
}
if (n!=0)
{
printf ("\nEl producto no se encuentra en la base de datos, favor registrarlo en la opcion -2-\n"); }
if ((factura
=fopen("factura.txt", "r+")) == NULL
) {
printf ("\nError al abrir el archivo\n"); }
else
{
printf ("\n .::Resultado::.\n\n"); {
fscanf(factura
,"%s %s %s %f", codigo
, nombrep
, tipo
, &costo
); printf ("Producto comprado: %s - %s - %s - %f\n", codigo
, nombrep
, tipo
, costo
); fscanf (factura
, "%s %s %s %d %s",cedula
,nombre
, apellido
, &edad
, direccion
); printf ("Comprador: %s - %s - %s - %d - %s", cedula
,nombre
, apellido
, edad
, direccion
); break;
}
}
}
ahora solo falta eliminar todas las variables auxiliares que sobran...