Io usai questo per ordinare il file in ordine alfabetico ed è tutto funzionante ora ho un problema simile sempre da file devo prendere questi nomi ma invece di ordinare in ordine alfabetico l'elenco dei nomi devo oridnare ogni singolo nome in ordine alfabetico
#include<iostream>
#include<fstream>
#include<string.h>
using namespace std;
typedef struct vita{
char nome[100];
int numero;
}data;
void carica_vettore(fstream&miofile,data v[]);
void stampa_vettore(data v[]);
void controlla_ordine(data v[]);
int main(){
char nome_file[20];
data mare[200];
data vita[200];
fstream miofile;
cout<<"Inserisci il file da aprire: "<<endl;
cin>>nome_file;
miofile.open(nome_file,ios::in);
if(!miofile){
cout<<"Il file che si desidera non puo' essere aperto"<<endl;
exit(1);
}
carica_vettore(miofile,vita);
stampa_vettore(vita);
controlla_ordine(vita);
}
void carica_vettore(fstream&miofile,struct vita v[]){
while(!miofile.eof()){
int i=0;
for(i=0;i<4;i++){
miofile>>v.nome;
miofile>>v.numero;
}}miofile.close();}
void stampa_vettore(struct vita v[]){
int i=0;
for(i=0;i<4;i++){
cout<<v.nome<<" "<<endl;
cout<<v.numero<<" "<<endl;}
}
void controlla_ordine(struct vita v[],struct mare t[]){
char temp[100];
int i;
for(int i=0;i<3;i++){
if(strcmp(v.nome,v[i+1].nome)>0){
cout<<"Il file non e' ordinato alfabeticamente"<<endl;
strcpy(temp,v.nome);
strcpy(v.nome,v[i+1].nome);
strcpy(v[i+1].nome,temp);}}
cout<<"Il file ordinato alfabeticamente e': "<<endl;
for(int i=0;i<4;i++){
cout<<v.nome<<" "<<endl;
}}