Ver Mensaje Individual
  #1 (permalink)  
Antiguo 01/02/2013, 07:28
BKsiragon
 
Fecha de Ingreso: enero-2013
Ubicación: venezuela
Mensajes: 6
Antigüedad: 11 años, 3 meses
Puntos: 0
validar datos en Ordenamiento C++

Amigos me pueden ayudar con este codigo, lo que pasa es que en la parte donde sale la opcion de "INGRESE UNA OPCION" si pongo una letra o un numero que no es igual a los que estan en el menu sale un bug y empieza a repetir el programa...

quiero ponerle una opcion que diga "Error, opcion invalida" al marcar una letra o un numero incorrecto a la hora de ingresar la opcion del menu.

aqui el codigo:

CODE]

#include <iostream>
#include <stdio.h>
#include<windows.h>
#define MAX 10
using namespace std;


void burbuja();
void seleccion();
void salir();

main(void)

{

system("color 0A"); //COLOR PARA LA CONSOLA

int seguir=1;
int x;

cout<<endl<<"\t################################### ###############################";
cout<<endl<<"\t# METODOS DE ORDENAMIENTO #";
cout<<endl<<"\t# METODO DE LA BURBUJA Y SELECCION DIRECTA #"; //PORTADA DEL PROMAGRA!
cout<<endl<<"\t# IS5D-C #";
cout<<endl<<"\t################################### ###############################"<<endl;
cout<<endl;
cout<<endl;

do // COMIENZO DEL CICLO REPETITIVO DO - WHILE
{
cout<<endl<<"\t\t******************* M E N U ******************";
cout<<endl<<"\t\t* *";
cout<<endl<<"\t\t* 1.- Ordenamiento por Metodo Burbuja *";
cout<<endl<<"\t\t* *";
cout<<endl<<"\t\t* 2.- Ordenamiento por Metodo Seleccion *"; //MENU DEL PROGRAMA!
cout<<endl<<"\t\t* *";
cout<<endl<<"\t\t* 3.- Salir *";
cout<<endl<<"\t\t********************************* *************";
cout<<endl;
cout<<endl;

cout<<endl<<">> ELIGE UNA OPCION: "; //PEDIR OPCION DEL MENU!
cout<<endl<<" -------------------> ";
cin>>x;
cout<<endl<<endl;






switch (x){
case 1:burbuja();
break;
case 2:seleccion();
break;
case 3:
seguir = 0;
break;


default: cout<<"ERROR, OPCION INVALIDA.."<<endl; //OPCION INVALIDA.

}
if (seguir!=0)
{
cout <<endl<< "DESEA CONTINUAR?? SI - PRESIONAR 1 , NO - PRESIONAR 0 ";
cin >> seguir;
}
}while (seguir==1); //FIN DEL BUCLE DO - WHILE
cout<<endl;
system("PAUSE");

}


void burbuja()
{
int I,N,Aux,J;
int V[10];



cout<<"Cuantos Numeros va a Ingresar al Vector?, Maximo 10: ";
cin>>N;
cout<<endl;
for(I=0; I<N; I++)
{
cout<<"Ingrese Elemento ["<<I+1<<"]= ";
cin>>V[I];
}
for (I=0; I<N-1; I++)
for (J=0; J<(N-1)-I; J++)
if (V[J]>V[J+1])
{
Aux=V[J];
V[J]=V[J+1];
V[J+1]=Aux ;
}

cout<<endl<<"[ NUMEROS ORDENADOS MEDIANTE BURBUJA ] "<<endl;
for(I=0; I<N; I++)
cout<<endl<<"\t\t"<<V[I];
cout<<endl<<endl;


}



void seleccion()
{
int J,I,N,K;
int V[10];
int Aux;

cout<<"Cuantos Numeros va a Ingresar al Vector?, Maximo 10: ";
cin>>N;
cout<<endl;
for(I=0; I<N; I++)


{
cout<<"Ingrese Elemento ["<<I+1<<"]= ";
cin>>V[I];
}

for(I=0; I<N-1; I++)
{
K=I;
for (J=I+1; J<N; J++)
if (V[J]<V[K])
K=J;

Aux=V[I];
V[I]=V[K];
V[K]=Aux;
}


cout<<endl<<"[ NUEMROS ORDENADOS MEDIANTE SELECCION ]"<<endl;
for(I=N-1; I>=0; I--)
cout<<endl<<"\t\t"<<V[I];
cout<<endl<<endl;
system("exit");

}[/CODE]