Este es el código que he intentado, pero al ejecutarlo solo me deja escribir el primer nombre, y en la parte de acomodar alfabéticamente me muestra un signo. En la "Parte 1" es la declaración de funciones, ya que en este programa se me pide usar funciones. En la "Parte 2" se declaran las variables y se pide la cantidad de nombres y definirlos. En la "Parte 3" se ordena alfabéticamente los nombres dados. Las librerías que use fueron: iostream , conio.h , stdlib.h , math.h
**Parte 1**
//declaracion de funciones
int EnteroPositivo();
**Parte 2**
int main()
{
int i = 0;
int j, n;
int temp = 0;
int A = 0;
char nombre[50];
do
{
system("cls");
cout << "Ingrese cantidad de nombres: " << endl;
n = EnteroPositivo();
} while (n < 0);
cout << "Ingrese nombres:" << endl;
for (int i = 0; i < n; i++)
{
cout << "Nombre: " << i + 1 << endl;
cin >> nombre[i];
}
**Parte 3**
for (int i = 0; i < n; i++);
{
for (j = i; j < n; j++);
{
if ((nombre[i] > nombre[j]) > 0)
{
temp = nombre[i];
nombre[i] = nombre[j];
nombre[j] = temp;
}
}
}
cout << endl << "Los nombre ordenados alfabéticamente son: " << endl;
for (int i = 0; i < n; i++);
{cout << nombre[i] << endl; }
_getch;
return 0;
}
**Funcion**
int EnteroPositivo()
{
int num = 0;
char dato = 0;
char arreglo[10];
int i = 0;
do
{
dato = _getch();
if (dato >= '0' && dato <= '9')
{
cout << dato;
arreglo[i] = dato;
i++;
}
if (dato == 8 && i > 0)
{
cout << dato; cout << " "; cout << dato;
i--;
arreglo[i] = 0;
}
} while (dato != 13);
num = atoi(arreglo);
return num;
}