Foros del Web » Programación para mayores de 30 ;) » C/C++ »

ordenador descendente con nodos

Estas en el tema de ordenador descendente con nodos en el foro de C/C++ en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 10/11/2009, 15:51
 
Fecha de Ingreso: septiembre-2009
Mensajes: 2
Antigüedad: 15 años, 2 meses
Puntos: 0
ordenador descendente con nodos

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;
}
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:03.