Foros del Web » Programación para mayores de 30 ;) » C/C++ »

crear-odenar-imprimir un archivo

Estas en el tema de crear-odenar-imprimir un archivo en el foro de C/C++ en Foros del Web. necesito saber como puedo ordenar un archivo sin usar arreglos pero si cualquier metodo, como el de burbuja. debo crear un archivo ingresar 10 alumnos ...
  #1 (permalink)  
Antiguo 11/11/2009, 14:20
 
Fecha de Ingreso: noviembre-2009
Mensajes: 5
Antigüedad: 14 años, 6 meses
Puntos: 0
De acuerdo crear-odenar-imprimir un archivo

necesito saber como puedo ordenar un archivo sin usar arreglos pero si cualquier metodo, como el de burbuja.

debo crear un archivo ingresar 10 alumnos con sus notas finales, ordenar el archivo de la peor nota a la mejor, e imprimir el archivo.
Esto es lo que llevo hasta el momento necesito terminarlo pero no se como,buque info y escuche de un comando quicksort pero tampoco se como usarlo.
ayudenme porfavor

#include<stdio.h>
#include<stdlib.h>
#include<string.h>

struct datos{
char nombres[50];
int notas;
}alumnos[10];
FILE * archivo;

void llenar(){
char auxiliar[50];
int aux;

int i;
archivo=fopen("c:abp_prog.txt","w+");

for(i=0;i<2;i++)
{
printf("Nombre y apellido del alumno %i:",i+1);
fflush(stdin);
gets(alumnos[i].nombres);

do{
printf("Ingrese nota : ");
fflush(stdin);
scanf("%i",&alumnos[i].notas);
}while((alumnos[i].notas<0)|| (alumnos[i].notas>100) );
printf("\n");
}
__________________________________________________ ______
//aqui habia puesto este codigo que me lo encontraron malo pues estoy usando arreglo :s//

int j;
for(i=0;i<2;i++){
for(j=0;j<2;j++){
if(alumnos[i].notas < alumnos[j].notas){

strcpy(auxiliar,alumnos[i].nombres);
aux=alumnos[i].notas;
strcpy(alumnos[i].nombres,alumnos[j].nombres);
alumnos[i].notas=alumnos[j].notas;
strcpy(alumnos[j].nombres,auxiliar);
alumnos[j].notas=aux;




__________________________________________________ _______

fprintf(archivo,"nombre_apellido\t\t\tnota");

for(i=0;i<2;i++)
{
fprintf(archivo,"\n\n%s\t\t\t%i\n\n",alumnos[i].nombres,alumnos[i].notas);
}

fclose(archivo);

if(archivo==NULL)
{
printf("error archivo no fue creado");
}
else{
printf("archivo creado!");
}
}//se cierra el void


main(){
llenar();

system("pause");
}
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:42.