Foros del Web » Programación para mayores de 30 ;) » Programación General »

programa en c++

Estas en el tema de programa en c++ en el foro de Programación General en Foros del Web. Tengo este problema, hice este programilla pero no logro hacer que las funciones de mi menu sirvan , alquien me puede ayudar, si alguine me ...
  #1 (permalink)  
Antiguo 27/07/2010, 12:17
 
Fecha de Ingreso: julio-2010
Mensajes: 1
Antigüedad: 13 años, 9 meses
Puntos: 0
programa en c++

Tengo este problema, hice este programilla pero no logro hacer que las funciones de mi menu sirvan , alquien me puede ayudar, si alguine me ayuda me lo pueden enviar a mi correo [email protected]

gracias



#include <cstdlib>
#include <iostream>
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <time.h>
using namespace std;

struct nodoArbol
{
struct nodoArbol *punteroIzq;
int dato;
struct nodoArbol *punteroDer;
};

struct nodoRama
{
struct nodoRama *rama1;
struct nodoRama *rama2;
struct nodoRama *rama3;
};


typedef struct nodoArbol *punteroNodoArbol;

void insertaNodo (punteroNodoArbol *punteroArbol, int valor);
void inOrden (punteroNodoArbol punteroArbol);
void preOrden (punteroNodoArbol punteroArbol);
void postOrden (punteroNodoArbol punteroArbol);
void buscar (punteroNodoArbol punteroArbol, int valor);
int menu();

int main ()
{
punteroNodoArbol punteroRaiz = NULL;
int numero, elementos, ind;

system ("CLS");
cout << "\n\nARBOL\n\nOrden del arbol? ";
cin >> elementos;
do{
ind = 1;
numero = menu();

switch (numero)
{
case 1: {
int i, num;

for (i = 0; i < elementos; i++)
{
cout << "\nInserte el valor [" << i+1 << "]: ";
cin >> num;
insertaNodo(&punteroRaiz, num);
}
break;
}
case 2: {
system ("CLS");
cout << "Ingrese el número que desea buscar: ";
cin >> numero;
buscar(punteroRaiz, numero);
system ("PAUSE");
break;
}
case 3: {
system ("CLS");
cout << "ORDENAMIENTO IN-ORDEN\n\n";
inOrden(punteroRaiz);
system ("PAUSE");
break;
}
case 4: {
system ("CLS");
cout << "ORDENAMIENTO POS-ORDEN\n\n";
postOrden(punteroRaiz);
break;
}
case 5: {
system ("CLS");
cout << "ORDENAMIENTO PRE-ORDEN\n\n";
preOrden(punteroRaiz);
break;
}
case 6: {
ind = 0;
break;
}
default : cout << "\nOpcion Invalida\n";
system ("PAUSE");
break;
}// FIN DEL CAISE
}while (ind == 1);
return 0;
} //FIN DEL MAIN

int menu ()
{
int numero;

system ("CLS");
cout << "\tMENU\n";
cout << "\n1- Insertar elemento";
cout << "\n2- Buscar elemento";
cout << "\n3- Ordenamiento In-Orden";
cout << "\n4- Ordenamiento Pos-Orden";
cout << "\n5- Ordenamiento Pre-Orden";
cout << "\n6- Ver elementos duplicados";
cout << "\n7- Salir\n\n";
cout << ("Seleccione una opcion: ");
cin >> numero;
return numero;
}

void insertaNodo (punteroNodoArbol *punteroArbol, int valor)
{
if (*punteroArbol == NULL)
{
*punteroArbol = new (nodoArbol);
if (*punteroArbol != NULL)
{
(*punteroArbol) -> dato = valor;
(*punteroArbol) -> punteroIzq = NULL;
(*punteroArbol) -> punteroDer = NULL;
}
else
{
cout << ("\nNo se inserto. No hay memoria disponible. \n", valor);
}
}
else
{
if (valor < (*punteroArbol) -> dato)
insertaNodo(&((*punteroArbol)->punteroIzq), valor);
else if (valor > (*punteroArbol) -> dato)
insertaNodo(&((*punteroArbol)->punteroDer), valor);
else cout << "dup";
}
}

void inOrden (punteroNodoArbol punteroArbol)
{
if (punteroArbol != NULL)
{
inOrden (punteroArbol -> punteroIzq);
cout << (punteroArbol -> dato);
inOrden (punteroArbol -> punteroDer);
}
}

void preOrden (punteroNodoArbol punteroArbol)
{
if (punteroArbol != NULL)
{
cout << (punteroArbol -> dato);
preOrden (punteroArbol -> punteroIzq);
preOrden (punteroArbol -> punteroDer);
}

}

void postOrden (punteroNodoArbol punteroArbol)
{
if (punteroArbol != NULL)
{
postOrden(punteroArbol->punteroIzq);
postOrden(punteroArbol->punteroDer);
cout << (punteroArbol->dato);
}
}

void buscar (punteroNodoArbol punteroArbol, int valor)
{
if (punteroArbol != NULL)
if (valor == punteroArbol->dato)
cout << "\nEl dato se encontro\N";
else if (valor < punteroArbol -> dato)
buscar (punteroArbol -> punteroIzq, valor);
else buscar (punteroArbol -> punteroDer, valor);
else cout << "\nNo se encontro\n";
}

Etiquetas: programa
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 17:23.