Jump to content

ayuda con ejercicio en C#


Recommended Posts

Bueno como dice el tema, tengo un enunciado: thump_1781927sin-ttulo.jpg

 

 

Se como crear los 3 archivos, pero no puedo hacer el o los ciclos de como hacer la consulta

para lograr extraer los datos en dichos archivos mediante el rut .... si alguien pudiera ayudar o darme

una buena pista le estaria muy agradecido.

 

#include<stdio.h>

int main()

{

FILE *pFile;

char nombre[30], apellido[30], direccion[30], ciudad[30], nombre_ramo[30];

char rut [30], nota_final [30];

pFile = fopen ("carlos.txt","w");

if (pFile == NULL) perror ("Error al abrir el archivo");

else

{

printf ("ingrese rut: ");

gets (rut);

fprintf (pFile ," %s ", rut);

 

printf ("ingrese nombre: ");

gets (nombre);

fprintf (pFile, " %s ", nombre);

 

printf ("ingrese apellido: ");

gets (apellido);

fprintf (pFile, " %s ", apellido);

 

getchar();

}

fclose (pFile);

getchar();

getchar();

 

 

 

pFile = fopen ("carlos1.txt", "w");

if (pFile == NULL) perror ("Error al abrir el archivo");

else

{

printf ("ingrese rut: ");

gets (rut);

fprintf (pFile, " %s ", rut);

 

printf ("ingrese direccion: ");

gets (direccion);

fprintf (pFile, " %s ", direccion);

 

printf ("ingrese apellido: ");

gets (ciudad);

fprintf (pFile ," %s ", ciudad);

 

getchar();

}

fclose (pFile);

getchar();

getchar();

 

 

pFile = fopen ("carlos2.txt", "w");

if (pFile == NULL) perror ("Error al abrir el archivo");

else

{

printf ("ingrese rut: ");

gets (rut);

fprintf (pFile, " %s ", rut);

 

printf ("ingrese nombre_ramo: ");

gets (nombre_ramo);

fprintf (pFile, " %s ", nombre_ramo);

 

printf ("ingrese nota_final: ");

gets (nota_final);

fprintf (pFile ," %s ", nota_final);

 

getchar();

}

fclose (pFile);

getchar();

getchar();

}

 

ese es mi codigo que tengo para crear 3 .txt e ingresar los datos

Edited by karlox43
Link to comment
Share on other sites

Se mueve a Aplicaciones de Escritorio

 

Saludos :krider:

 

PD: Como respuesta, una vez creados esos archivos toda la info antes, deberías guardarla en una matriz o array asi se te hace más fácil la búsqueda(si fuesen varios array sería consentricos asi que tocarpia solo buscar en el primero y almacenar posiciones) ....luego buscas en los arrays, guardas la info en un buffer y luego guardas el buffer en un txt con el resultado.

Link to comment
Share on other sites

  • 2 weeks later...

mas o menos la idea seria leerlos con fscanf %s y para los enteros que son las notas %i los colocas uno al lado del otro creo en un ciclo while !feof

 

te dejo un ejemplo para que te guies

 

#include<stdio.h>
main(){
FILE *com,*fin;
char nombre[20],rut[15];
int edad;
com=fopen("alumnos.txt","r");
fin=fopen("alumnos2.txt","w");
while(!feof(com))
   {
 fscanf(com,"%s %s %d\n",rut,nombre,&edad);
 fprintf(fin,"%s %s %d\n",rut,nombre,edad);
}

fclose(com);
fclose(fin);

}

 

algoritmicamente:

 

lees el primer archivo

lees el segundo archivo

lees el tercer archivo

 

puedes guardarlo en un array grandote cada dato o en una lista enlazada depende de la complejidad y tu conocimiento.

 

despues tomas el rut del primer archivo y en un for lo comparas en un if con el primero y con el segundo y cuando lo encuentre calculas la nota y escribes el archivo que te pidieron

 

para comparar puedes ocupar strcmp

 

espero que te ayude algo lo que escribi.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...