Hola necesito ayuda con un programa que me asignaron en la escuela, tengo que hacer un programa capaz de leer 100 cadenas, que tenga un menú que diga:
1- Inicio
2- Consultar
3- Salir
- Seleccione una opción:
cuando le de a la opción de consultar todo lo que este archivado dentro de la cadena debe salir en forma de lista pero ordenado alfabéticamente.
No tengo idea de como hacerlo!
PD: En C++ el codigo plis!
Gracias de ante mano!
Hola, como no expongas lo que llevas hecho hasta el momento no te ayudaran, aquí no se hacen trabajos por encargo. Se ayuda en las dudas.
Saludos.
Cita de: simorg en 11 Julio 2017, 05:04 AM
Hola, como no expongas lo que llevas hecho hasta el momento no te ayudaran, aquí no se hacen trabajos por encargo. Se ayuda en las dudas.
Saludos.
Ok, entiendo muchas gracias!
Cita de: BadBotty56 en 11 Julio 2017, 05:01 AM
Hola necesito ayuda con un programa que me asignaron en la escuela, tengo que hacer un programa capaz de leer 100 cadenas, que tenga un menú que diga:
1- Inicio
2- Consultar
3- Salir
- Seleccione una opción:
cuando le de a la opción de consultar todo lo que este archivado dentro de la cadena debe salir en forma de lista pero ordenado alfabéticamente.
No tengo idea de como hacerlo!
PD: En C++ el codigo plis!
Gracias de ante mano!
Acá tengo el código solo me falta que todo lo que yo digite cuando pulse la opción de "consultar" se ordene en orden alfabético!
#include <stdio.h>
#include <stdlib.h>
char a[100][100];
int Nuevo()
{
for(int x =0; x<=9;x++)
{
printf("Digite algo: \n");
fflush(stdin);
gets(a[x]);
printf("\n");
}
}
int consultar()
{
for(int x =0; x<=9;x++)
{
puts(a[x]);
printf("\n");
}
system("pause");
}
int menu(){
int opcion;
while(opcion != 3){
system ("cls");
printf("\tMenu: \n");
printf("1- Nuevo\n2- Consultar\n3- Salir\n");
scanf("%d",&opcion);
system("cls");
if(opcion < 1 || opcion > 3){
printf("Este codigo no existe \n");
system("pause");
system("cls");
}
switch(opcion){
case 1:Nuevo();break;
case 2:consultar();break;
case 3:break;
}
}
}
int main ()
{
menu();
return 0;
}
puedes usar strcmp de la librería string
https://www.tutorialspoint.com/c_standard_library/c_function_strcmp.htm (https://www.tutorialspoint.com/c_standard_library/c_function_strcmp.htm)
le pasas 2 cadenas como parametro, si retorna menos de 0 la primera cadena es menor...
con eso puedes aplicar ordenamiento de burbuja (vas a tener que usar una variable de intercambio y para facilitarte la vida usas strcpy para copiar la posición de una cadena a otra
https://www.tutorialspoint.com/c_standard_library/c_function_strcpy.htm (https://www.tutorialspoint.com/c_standard_library/c_function_strcpy.htm)