Buenas tardes he estado trabajando sobre un programa ordenador de numeros descendente pero tengo problema ala hora de correr el programa, les agradecere mucho si me pudieran hacer una sugerencia para correr el programa y funcione de la siguiete manera
1. al ejecutar el programa debe de entrar a un menu de opciones
2. dentro del menu desplegar si se desea a)introducir numeros, b)si se desea consultar numeros y c)si se desea ordenar numeros y por ultimo d)salir.
todo esto debe de ejecutarse con nodos.
este es mi codigo:
#include <iostream.h>
#include <stdio.h>
#include <conio.h>
struct Valor
{
int num;
};
struct Nodo;
typedef Nodo *PNodo;
struct Nodo
{
Valor info;
PNodo sig;
};
typedef PNodo Lista;
int ingresarnumeros(void){
void ordenar(Lista l)
{
int fin;
PNodo nodo;
if(!l) return;
do {
fin=0;
for (nodo=l; nodo->sig; nodo=nodo->sig) {
if (nodo->info.num<nodo->sig->info.num) {
fin=nodo->info.num; // Uso fin como variable temporal
nodo->info.num=nodo->sig->info.num;
nodo->sig->info.num=fin;
fin=1;
}
}
} while(fin==1);
}
{
Lista l;
int x;
char op;
PNodo anterior,nuevo,aux;
l=NULL;
do {
cout << "\nNumero: ";
cin >> x;
nuevo=new(Nodo);
nuevo->info.num=x;
if (l==NULL)
l=nuevo;
else
anterior->sig=nuevo;
anterior = nuevo;
cout << "Ya has acabado de introducir numeros";
cout << " (s/S)?";
cin >> op;
} while ((op!='s') && (op!='S'));
nuevo->sig=NULL;
cout<<"\nLa lista generada de mayor a menor es: \n"<< endl;
ordenar(l); // Función de ordenación por método de la burbuja usando apuntadores
aux=l;
while (aux!=NULL) {
cout <<(*aux).info.num << " " ;
aux=(*aux).sig ;
}
cout << "\n" << endl;
getch ();
return 0;
}}
int ordenarnumeros(void)
{
return 0;}
int mostrarnumeros(void)
{
return 0;}
int menu(void)
{
int menudeopciones;
system("cls");
printf("\n*** Favor de seleccionar una opcion: ***\n\n");
printf("1) Ingresar Numeros\n\n\n");
printf("2) Seleccionar como deseas ordenar los numeros \n\n\n");
printf("3)Mostrar Numeros\n\n\n");
printf("4) Salir\n");
printf("\n\nSeleccione la opcion:\n");
cin>>menudeopciones;
switch(menudeopciones)
{
//Creamos el case principal para crear el menu necesario para llamar todas las funciones
case 1:
ingresarnumeros();
break;
case 2:
ordenarnumeros();
break;
case 3:
mostrarnumeros();
break;
};
return menudeopciones;
}
//Se crea funcion principal declarando las variables a usar y que no salga del programa
//a menos que se pulse salir
int main(int argc, char* argv[])
{
int menudeopciones;
do
{
menudeopciones=menu();
}
while (menudeopciones!=4);
return 0;
}