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

Inconveniente con la instrucción switch en C++

Estas en el tema de Inconveniente con la instrucción switch en C++ en el foro de C/C++ en Foros del Web. Hola a todos Como verán estoy continuamente haciendo post, lo que pasa es que hay cosas que por mas que leo tutorías y recorro los ...
  #1 (permalink)  
Antiguo 11/06/2008, 19:50
RoDaVi
Invitado
 
Mensajes: n/a
Puntos:
Inconveniente con la instrucción switch en C++

Hola a todos
Como verán estoy continuamente haciendo post, lo que pasa
es que hay cosas que por mas que leo tutorías y recorro los foros
no logro solucionar.-
El caso es que en el siguiente programa si ingreso un entero
para la opción va todo muy bien, pero si ingreso una letra el
programa no funciona mas, e intentado con el tipo string pero
me ocurre lo mismo, se los presento para que me den una mano.-

Código:
#include <cstdlib>
#include <iostream>
#include <iomanip> 
#include <windows.h>
#include <string>

void noDesarrollado(std::string, int);
void dibujo();

int main(int argc, char *argv[])
{
    SetConsoleTitle("   Clientes "); 
    using namespace std;
    int opcion = 0;
    while(1) 
    { 
       dibujo();
       cout << " Que deseas hacer..?\n"; 
       cout << " \n [1]-alta\n"; 
       cout << " [2]-Baja\n"; 
       cout << " [3]-Modificaci\xa2n\n"; 
       cout << " [4]-B\xa3squeda\n"; 
       cout << " [5]-Listado\n"; 
       cout << " [6]-Salir\n"; 
       cout << " \n Seleccione: "; 
       cin >> opcion; 
       switch(opcion) 
       { 
           case 1: noDesarrollado("Ok", opcion); 
                break;
           case 2:  noDesarrollado("Ok", opcion); 
                 break; 
           case 3:  noDesarrollado("Ok", opcion); 
                 break; 
           case 4:  noDesarrollado("Ok", opcion); 
                 break; 
           case 5:  noDesarrollado("Ok", opcion); 
                 break; 
           case 6: exit(0); 
           default: noDesarrollado("No", opcion); 
       } 

    }

    system("PAUSE>nul");
    return EXIT_SUCCESS;
}

void noDesarrollado(std::string cual, int opcion)
{
    if(cual == "Ok")
	{	
		std::cout << " No desarrollado...  \n Apriete cualquier tecla para continuar...";
	}
	else
    {
		std::cout << " La opci\xA2n " << opcion << " No existe...  \n Apriete cualquier tecla para continuar...";
	}
	system("PAUSE>nul");
    system("CLS");
    void dibujo();
}     

void dibujo()
{
    using namespace std;
    cout << "" << endl;
    cout << setw(45) << setfill('-') << " Clientes ";
    cout << setw(34) << setfill('-') << " " << endl << endl;
    cout << setw(63) << setfill('-') << " Alta - Baja - Modificaci\xa2n - B\xa3squeda - Listado ";
    cout << setw(16) << setfill('-') << " " << endl << endl;
 }
Desde ya muchas gracias.-
Un gran abrazo
El autodidacta Daniel C++
  #2 (permalink)  
Antiguo 13/06/2008, 19:30
 
Fecha de Ingreso: abril-2008
Mensajes: 264
Antigüedad: 16 años
Puntos: 2
Respuesta: Inconveniente con la instrucción switch en C++

¿A que llamas que no funcione mas? ¿Que error te tira? ¿Cual es la salida?
__________________
Saludoss
Guille
  #3 (permalink)  
Antiguo 14/06/2008, 05:34
RoDaVi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Inconveniente con la instrucción switch en C++

Hola guille_el3
Bueno el error era que si ingresaba un número = 0,entre 1 y 6 o > 6
todo estaba bien pero había la posibilidad de que se ingresara una letra
y en ese caso el programa dejaba de mostrar los mensajes y se tildaba.-
De cualquier manera ya lo tengo solucionado, muchas gracias igual.-

Por si no lo leíste por allí y para una próxima consulta debo aclararte
que soy autididacta y que hace tan solo 3 meses que me inicie en C++.-

Un gran saludo
El autodidacta Daniel C++
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 02:45.