Pregunta:
¿NECESITO AYUDA SOBRE ARCHIVOS EN C++?
2010-11-26 20:16:07 UTC
TENGO UN SERIO PROBLEMA EL LUNES TENGO Q LLEVAR ECHO EL FINAL DE PROGRAMACION I A LA FACULTAD.. EL TEMA ES Q HACE UN DIA Y MEDIO Q ESTOY TRABADO
LO Q TENGO Q HACER ES AGARRAR UN ARCHIVO TXT Q CONTIENE LOS DATOS DE EMPLEADOS DE UNA EMPRESA DE LACTEOS ORDENARLOS Y LISTARLOS PARACE SIMPLE NO? EL TEMA ES Q TENGO PROBLEMAS A LA HORA DE LEER EL ARCHIVO ESTOY USANDO A+ PARA Q NO ME SOBRESCRIBA PERO NO ME LO LEE NOSE EL ARCHIVO LE PUSE empleados.txt DONDE TENGO GUARDADOS LOS SIGUIENTES DATOS:
Fulano;Mengano;11041988;1000
Juan;Perez;13061987;1001
Juancho;Talarga;12061990;1002
(aclaro son ejemplos los nombres :P los dos primeros son nombre y apellido luego la fecha de cumple y el legajo)

este es mi codigo
#include
#include
#include
#include
main()
{
FILE*empleados;
empleados=fopen("empleados.txt","a+"); //lee el archivo
char apellido[3][15],nombre[3][15], aux[15];
int dia[3],mes[3],ano[3],i,j,legajo[3];

if(empleados==NULL)
{
printf("No se creo el archivo");
}
else
{
fscanf(empleados,"%s %s %d %d %d %d",&apellido,&nombre,&dia,&mes,&ano,&legajo);
while(!feof(empleados))
{
printf("%s %s \n ",apellido,nombre);
printf("%d %2d %d \n Legajo %d \n",dia,mes,ano,legajo);
fscanf(empleados,"%s %s %d %2d %d %d",&apellido,&nombre,&dia,&mes,&ano,legajo);
}
}
printf("ahora ordenaremos los empleados");
for (i=0; i<3; i++)
{
for (j=0; j<2; j++)
{
if (strcmpi(apellido[i],apellido[j])>0)
{
strcpy(aux,apellido[j]); //ordenamiento
strcpy(apellido[j],apellido [i]);
strcpy(apellido[i],aux);
}
}
}


for(i=0;i<=2;i++)
{
puts(apellido[i]);
puts(nombre[i]);
printf("%d %d %d \n",dia,mes,ano);
printf("Legajo:%d",legajo);
}
fclose(empleados);

getch ();

}
MI MAYOR PROBLEMA ESTA EN LA LECTURA DEL ARCHIVO PORQ CADA VEZ Q LO CORRO ME CREA UNO NUEVO COMO SI NO EXISTIERA Y ACLARO Q ESTOY USANDO A+ Q NO SOBREESCRIBE ELA RCHIVO Y EL ARCHIVO NUEVO Q ME CREA NO TIENE NADA

LES AGRADECERIA Q ME CONTESTARAN PRONTO

OTRA COSA NO USO ESTRUCTURAS PORQ EH VISTE MUCHOS TUTO DONDE SE ES AMS FACIL USANDOLO PERO ACLARO ESO TODAVIA NO LO VI PUES CLARO RECIEN ESTOY EN PRIMER AÑO..UNA SOLUCION SIMPLE PLISSSSS
Tres respuestas:
el LAXO
2010-11-26 21:44:27 UTC
Hola...

yo conosco otra forma de trabajar con archivos y mucha más efectiva (según yo jeje)



#include

#include

#include

#include

main()

{

string nombre,apellido,cumple,legajo;

char buf[100];//variable auxiliar para extraer lineas del block de notas

ifstream extraer("D:\\notas.txt");//abrimos el block de notas

if(extraer.good())

{

while(!extraer.eof())//mientras no se halla legado al final del archivo

{

extraer.getline(buf,100);//extrae una linea del block de notas

nombre=strtok(buf,";");//extraemos el texto q hay desde el inicio de la linea hasta encontrar un (punto y coma)

apellido=strtok(NULL,";");//extraemos el texto q hay desde donde se quedo (osea desde el primer punto y coma) hasta encontrar un (punto y coma)

cumple=strtok(NULL,";");

legajo=strtok(NULL,";");//extraemos lo que keda desde el ultimo punto y coma

cout<
cout<
cout<
cout<
}

}

else

{

cout<<"no se encontro el arhivo.";//enseñamos mensaje de que no existe el archivo

}

}





BUENO EL USO DEL COUT ES CASI LO MISMO Q SI USARAS printf.. PERO MÄS RAPIDOS EN CON COUT...



Te dejo mi msn para ayudarte en algunas dudas..

acuario_heysen_18@hotmail.com



espero haber ayudado
?
2017-01-16 10:41:19 UTC
Esta complicado tu caso como dices ya que cuentas que el bicho no te deja hacer nada, si tienes el disco de XP insertalo, apaga l. a. laptop y al iniciar dale las opciones para entrar en l. a. consola de recuperacion, esta l. a. ocuparas para respaldar tu informacion querida en una memoria USB, o diskete, hay tambien otros programas que puedes encontrar en softonic, despues de eso formater es lo recomendable, otra opcion es que si tu laptop es como por ejemplo HP y puedes hacer una recuperacion NO DESTRUCTIVA del distema hazlo porque esta respeta tu informacion, pero si cube que se l. a. echa mejor intentar salvarla antes o bien si no es importantes pues a darle que es mole de olla. Tambien puedes intentar instalarle algo como el panda antivirus pero creo que tendras que entrar a modo a prueba de fallos, instalarlo y darle una escaneada. Hay condenados virus que ni aun asi porque modifican parte del sistema operativo y de cualquierforma hay que formatear. Tambien hay versiones del Norton que vienen en CD, arrancas desde el CD y te desinfecta. l. a. cuestion es que para todo esto necesitas andar pegado en otra maquina, descargando programas y haciendo pruebas, o bien que algun cuate tuyo te eche l. a. mano para hacerlo y en caso de que seas aun nuevo en esto mandarla a reparar y respaldar l. a. informacion ya que si las cosas estan canijas se puede sacar el discoduro, instalarlo en otra maquina, vacunarlo, respaldar l. a. informacion, regresarlo a l. a. laptop tuya y formatear con confianza.
Luis Alejandro
2010-11-27 08:56:26 UTC
Pues el a+ no tiene que ver con sobre escribir el archivo o no, es para anexar información al final el archivo, además si lo que quieres es leer sólo necesitas ponerle un r y para escribir sólo w


Este contenido se publicó originalmente en Y! Answers, un sitio web de preguntas y respuestas que se cerró en 2021.
Loading...