Dev - C++ - como ordeno por nombre y edad en archivos?

 
Vista:
sin imagen de perfil

como ordeno por nombre y edad en archivos?

Publicado por mauricio (3 intervenciones) el 18/02/2022 17:10:23
#include<iostream>
#include<conio.h>
#include<cstdio>
#define MAX 100

using namespace std;


struct alumno
{
int codigo;
char nombre[50];
char especialidad[30];
int edad;
float promedio;
};
void crearalumno();
void mostrararchivoalumno();
void ordenamientonombre();
void ordenarespecialidad();
void mayoredad();


int main()
{

int opcion;
char opc = 's';
while (opc == 's')
{
system("cls");

cout << " Sistema de Registro de alumnos"<<endl<<endl;
cout<<"1.ingreso de alumnos"<<endl;
cout<<"2.mostrar alumnos"<<endl;
cout<<"3.alumnos ordenados por nombre"<<endl;
cout<<"4.alumnos con especialidad en ingenieria"<<endl;
cout<<"5.alumnos con mayoria de edad"<<endl<<endl;
cout<<"ingrese su opcion :==> ";
cin>>opcion;
if(opcion>5 && opcion <= 0){
cout<<"\n \t\t\tOpcion invalida!!!"<<endl;
cout<<"\n \t\t\tIngrese la Opcion Correcta: ";
cin>>opcion;
}

switch(opcion)
{
case 1:
crearalumno();
break;
case 2:
mostrararchivoalumno();
break;
case 3:
ordenamientonombre();
case 4:
ordenarespecialidad();
break;
case 5:
mayoredad();
break;

}
cout<<"Desea Regresar al SISTEMA DE REGISTRO DE NOTAS S/N ";
fflush(stdin);////It's a function which allows you to flush [clear] the input buffer.
cin>>opc;
}
system("Pause()");
return 0;
}
void crearalumno()
{
system("cls");
FILE *F;
alumno A;
do{
cout<<"codigo del alumno: ";
cin>>A.codigo;
}while(A.codigo <= 99999 || A.codigo >= 999999);
cout<<"nombre del alumno: ";
cin>>A.nombre;
cout<<"ingrese la especialidad del alumno: ";
cin>>A.especialidad;
cout<<"ingrese edad del alumno: ";
cin>>A.edad;
cout<<"ingrese promedio del alumno: ";
cin>>A.promedio;
F = fopen("datosAlumno.txt","a+");

if (F == NULL)
{
cout<<"No se puede abrir el Archivo"<<endl;
exit(1);
}
fwrite(&A,sizeof(A),1/* numero de archivoa a guardar*/,F/*(rn donde se guarda)*/);
fclose(F);

cout<<"Alumno archivado\n\n"<<endl;

system("Pause()");

}
void mostrararchivoalumno()
{
system("cls");
alumno A;
//leyendo disco;
FILE *J;
J = fopen("datosAlumno.txt","a+");
if (J == NULL)
{cout<<"No se puede Abrir el Archivo"<<endl;
exit(1);
}

cout<<"========================================\n"<<endl;
cout<<"Codigo\tNombre\tEspecialidad\tEdad\tpromedio"<<endl;
cout<<"----------------------------------------\n"<<endl;
fread(&A,sizeof(A),1,J);
while (!feof(J))// Mientras no sea fin del archivo recorre,leemos cada archivo; feof(G)
{
// abriendo las estructuras
cout<<A.codigo;
cout<<A.nombre;
cout<<A.especialidad;
cout<<A.edad;
cout<<A.promedio;
};
fclose(J);
cout<<"\n\n";
system("Pause()");

}
void ordenamientonombre()
{

}
void ordenarespecialidad()
{
system("cls");
alumno A;
FILE *J;
J = fopen("datosAlumnoporespecialidad.txt","a+");
if (J == NULL)
{cout<<"No se puede Abrir el Archivo"<<endl;
exit(1);
}
cout<<"========================================\n"<<endl;
cout<<"Codigo\tNombre\tEspecialidad"<<endl;
cout<<"----------------------------------------\n"<<endl;
fread(&A,sizeof(A),1,J);
while (!feof(J))
{
cout<<A.codigo;
cout<<A.nombre;
cout<<A.especialidad;
};
fclose(J);
cout<<"\n\n";
system("Pause()");

}
void mayoredad()
{

}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder