Me podrian decir como podria ingresar una serie de nombres en un archivo txt y de ahi que se me ordenara segun el metodo que eliga el usuario en el menu,  esto es lo que llevo
			Código (cpp) [Seleccionar] 
#include <iostream>
#include <cstdlib>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <conio.h>
#define Max 100
using namespace std;
FILE *doc;
void OrdenaBur(int , char [Max][Max], char [Max]);//mis funciones
void QS(char [Max][Max],int,int);
void MShell(int , char [Max][Max]);
void Imprimir(int , char [Max][Max]);
void Guardar(int , char [Max][Max]);
int main() {
	int Tam;
	char arreglo[Max][Max], temp[Max], preg;
	int Menu;
	cout 	 << "  Metodos de ordenamiento"<<endl;
	cout << "Seleccione una opcion"<<endl;
	cout <<"1.Ingresar Datos"<<endl;
    cout <<"2.Mostrar Datos"<<endl;
    cout <<"3.Metodo QuickSort"<<endl;
	cout <<"4.Metodo Burbuja"<<endl;
    cout <<"5.Metodo Shell"<<endl;
    cout <<"6.Salir"<<endl;
	 cin >> Menu;
	do{//mi menu
		system("cls");
		cout << "\n\n\t 1.Ingresar Datos\n 2.Mostrar Datos\n 3.Metodo QuickSort"
		 << "\n 4.Metodo Burbuja\n 5.Metodo Shell\n "
		 << "\n 7.Salir\n";
		 if(Menu=='\0')
		 {
		 	cout  << "\t\tSeleccione la opcion\n";
		 	cin >> Menu;
	}
	switch(Menu){
		case 1:
		{
			cout << "Ingrese la cantidad de cadenas que desee ordenar\n";
			cin >> Tam;
			Tam--;
			Guardar(Tam, arreglo);
			break;
		}
		case 2:
		{
			cout << "\nSus cadenas ingresadas son las siguientes\n"<<endl;
			Imprimir(Tam, arreglo);
			break;
		}
		case 3:
		{
			QS(arreglo,0,Tam);
			Imprimir(Tam,arreglo);
			break;
		}
		case 4:
		{
			OrdenaBur(Tam,arreglo,temp);
			Imprimir(Tam,arreglo);
			break;
		}
		case 5:
		{
			MShell(Tam, arreglo);
			Imprimir(Tam,arreglo);
			break;
		}
		case 6:
		{
				return 0;
			    break;
		}
		default:
		cout << "Error, Debe ingresar un dato valido\n";
	}
	cout << "\nDesea volver al menu?"
		 << "\n s para volver\n n para salir\n";
	cin >>preg;
	Menu='\0';
}
while(preg=='s');
	return 0;
}
void OrdenaBur(int Tam, char arreglo[Max][Max], char temp[Max])
{
	int tb, rg;
	cout << "\n\nSus cadenas ordenadas alfabeticamente con el metodo burbuja son: \n" << endl;
	for(tb=0; tb<Tam; tb++)
		for(rg=tb+1; rg<Tam+1; rg++)
			if(strcmpi(arreglo[tb], arreglo[rg])>0)
			{
			strcpy(temp, arreglo[tb]);
			strcpy(arreglo[tb], arreglo[rg]);
			strcpy(arreglo[rg], temp);
			}
}
void QS(char arreglo[Max][Max],int limite_izq,int limite_der)
{
    int izq,der,prob;
    char temporal[Max],pivote[Max];
    cout << "\n\nSus cadenas ordenadas \n"
		<< "alfabeticamente con el metodo quick sort son: \n" << endl;
    izq=limite_izq;
    der = limite_der;
    strcpy(pivote,arreglo[(izq+der)/2]);
    do
	{
        while(strcmpi(arreglo[izq],pivote)<0)
		izq++;
        while(strcmpi(arreglo[der],pivote)>0)
		der--;
        if(strcmpi(arreglo[izq],arreglo[der])>=0)
        {
            strcpy(temporal,arreglo[izq]);
            strcpy(arreglo[izq],arreglo[der]);
			strcpy(arreglo[der],temporal);
            izq++;
            der--;
        }
    }
	while(izq<=der);
    if(limite_izq<der)
	QS(arreglo,limite_izq,der);
    if(limite_der>izq)
	QS(arreglo,izq,limite_der);
}
void MShell(int Tam, char arreglo[Max][Max])
{
	int i,j,k;
	char aux[Max] ;
	cout << "\n\nSus cadenas ordenadas alfabeticamente con el metodo shell sort son: \n" << endl;
	k=Tam/2;
	while(k>0)
	{
		for(i=k/*+1*/;i<=Tam;i++)
		{
			j=i-k;
			while(j>=0)
			{
				if(strcmp(arreglo[j],arreglo[j+k])>=0)
				{
					strcpy(aux,arreglo[j]);
					strcpy(arreglo[j],arreglo[j+k]);
					strcpy(arreglo[j+k],aux);
				}
				else
				{
					j=0;
				}
			j=j-k;
			}
		}
	k=k/2;
	}
}
 		
void Guardar(int Tam, char arreglo[Max][Max])
{
	int cont;
	for (cont=0;cont<=Tam;cont++)
	{
		cout << "\nCadena "<<cont+1<<endl;
		cin >> arreglo[cont];
	}
}
void Imprimir(int Tam, char arreglo[Max][Max])//Mi duda con los archivos
{
    int c;
    doc= fopen("alfabetico.txt","r");
    if (doc==NULL){
    cout<<"Error con el archivo"<<endl;
     while((c=getc(doc))!=EOF){
     if(c=='\n'){
      cout<<endl;
     }
      else {
     cout<<c;
     }
     fclose(doc);
     }
    }
}