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

Uso de switch y while C++

Estas en el tema de Uso de switch y while C++ en el foro de C/C++ en Foros del Web. Tengo este codigo: #include <iostream> using namespace std; class Servicios{ public: int codigoservicio; char tiposervicio [20]; char costoservicio [12]; char comision[8]; public: void Capturar(); void ...
  #1 (permalink)  
Antiguo 16/09/2013, 23:18
 
Fecha de Ingreso: septiembre-2013
Mensajes: 8
Antigüedad: 10 años, 7 meses
Puntos: 0
Pregunta Uso de switch y while C++

Tengo este codigo:

#include <iostream>

using namespace std;

class Servicios{
public:
int codigoservicio;
char tiposervicio [20];
char costoservicio [12];
char comision[8];

public:
void Capturar();
void Modificar();
void Revisar();
void Buscar();
void Eliminar();
};

void Servicios::Capturar(){
cout<<"\nCapturar Servicio \n\n";
cout<<"Codigo de servicio: ";
cin>> codigoservicio;
cout<<"Tipo de servicio: ";
cin>> tiposervicio;
cout<<"Costo de servicio: ";
cin>>costoservicio;
cout<<"Comision: ";
cin>>comision;
}

void Servicios::Modificar(){
cout<< "\nModificar Servicio \n\n";
cout<<"No disponible :( \n\n";
}

void Servicios::Revisar(){
cout<< "\nRevisar Servicios \n\n";
cout<<"No disponible :( \n\n";
}

void Servicios::Buscar(){
int buscarcodigo;
cout<< "\nBuscar Servicio \n\n";
cout<< "Ingresa codigo: ";
cin>> buscarcodigo;
if (buscarcodigo==codigoservicio){
cout<< "\nMostrando: \n\n";
cout<< "Codigo: " << codigoservicio << endl;
cout<< "Tipo: " << tiposervicio << endl;
cout<< "Costo: " << costoservicio << endl;
cout<< "Comision: " << comision << endl;
}
else
cout<< "El servicio no existe" << endl;
}

void Servicios::Eliminar(){
cout<< "\nEliminar Servicio \n\n";
cout<<"No disponible :( \n\n";
}
int main()
{
int input;
Servicios serv;
cout<< "Servicios\n";
cout<< "1. Capturar\n";
cout<< "2. Modificar\n";
cout<< "3. Revisar\n";
cout<< "4. Buscar\n";
cout<< "5. Eliminar\n";
cout<< "6. Salir\n";
cout<< "\nSelecciona opcion: ";
cin>> input;
switch(input){
case 1:
serv.Capturar();
break;
case 2:
serv.Modificar();
break;
case 3:
serv.Revisar();
break;
case 4:
serv.Buscar();
break;
case 5:
serv.Eliminar();
break;
case 6:
cout<< "\nSaliste exitosamente";
break;
default:
cout<<"\nOpcion no valida";
break;
}
cin.get();
{
serv.Capturar();
serv.Modificar();
serv.Revisar();
serv.Buscar();
serv.Eliminar();
}
}

Cuando escojo una opcion, por ejemplo la 1 que es Capturar, me corre esa y todas las demas como Eliminar y Modificar. ¿Como le hago para que solo me corra la que escogi?

Y, ¿en que parte y como puedo empezar un bucle while para que despues que escoja una opcion, pueda escoger otra?

Agradeceria mucho sus respuestas.
  #2 (permalink)  
Antiguo 17/09/2013, 01:33
Avatar de guzzano  
Fecha de Ingreso: julio-2010
Ubicación: Isla de Margarita
Mensajes: 162
Antigüedad: 13 años, 8 meses
Puntos: 13
Respuesta: Uso de switch y while C++

Buenos días.

Cita:
Iniciado por carrod9200 Ver Mensaje
Cuando escojo una opcion, por ejemplo la 1 que es Capturar, me corre esa y todas las demas como Eliminar y Modificar. ¿Como le hago para que solo me corra la que escogi?
Te corre las demás, porque abajo (al final) del switch estás ejecutándolas
Código C:
Ver original
  1. cin.get();
  2. {
  3. serv.Capturar();
  4. serv.Modificar();
  5. serv.Revisar();
  6. serv.Buscar();
  7. serv.Eliminar();
  8. }

Elimina eso del código.

Cita:
Iniciado por carrod9200 Ver Mensaje
Y, ¿en que parte y como puedo empezar un bucle while para que despues que escoja una opcion, pueda escoger otra?
Aquí, puedes crear una variable tipo booleana que se inicie como TRUE y dentro del bucle, si la variable es TRUE se repetirá, si se presionó el número 6, se cambia el valor de la variable booleana a FALSE y el bucle terminará. Un ejemplo, así

Código C:
Ver original
  1. nt main()
  2. {
  3. int input;
  4. bool exit = true;
  5. Servicios serv;
  6.  
  7. while (exit)
  8. {
  9. cout<< "Servicios\n";
  10. cout<< "1. Capturar\n";
  11. cout<< "2. Modificar\n";
  12. cout<< "3. Revisar\n";
  13. cout<< "4. Buscar\n";
  14. cout<< "5. Eliminar\n";
  15. cout<< "6. Salir\n";
  16. cout<< "\nSelecciona opcion: ";
  17. cin>> input;
  18. switch(input){
  19. case 1:
  20. serv.Capturar();
  21. break;
  22. case 2:
  23. serv.Modificar();
  24. break;
  25. case 3:
  26. serv.Revisar();
  27. break;
  28. case 4:
  29. serv.Buscar();
  30. break;
  31. case 5:
  32. serv.Eliminar();
  33. break;
  34. case 6:
  35. cout<< "\nSaliste exitosamente";
  36. exit = false;
  37. break;
  38. default:
  39. cout<<"\nOpcion no valida";
  40. break;
  41. }
  42. }
  43.  
  44. }

Un saludo.
  #3 (permalink)  
Antiguo 17/09/2013, 11:38
 
Fecha de Ingreso: septiembre-2013
Mensajes: 8
Antigüedad: 10 años, 7 meses
Puntos: 0
Respuesta: Uso de switch y while C++

Cita:
Iniciado por guzzano Ver Mensaje
Buenos días.



Te corre las demás, porque abajo (al final) del switch estás ejecutándolas
Código C:
Ver original
  1. cin.get();
  2. {
  3. serv.Capturar();
  4. serv.Modificar();
  5. serv.Revisar();
  6. serv.Buscar();
  7. serv.Eliminar();
  8. }

Elimina eso del código.



Aquí, puedes crear una variable tipo booleana que se inicie como TRUE y dentro del bucle, si la variable es TRUE se repetirá, si se presionó el número 6, se cambia el valor de la variable booleana a FALSE y el bucle terminará. Un ejemplo, así

Código C:
Ver original
  1. nt main()
  2. {
  3. int input;
  4. bool exit = true;
  5. Servicios serv;
  6.  
  7. while (exit)
  8. {
  9. cout<< "Servicios\n";
  10. cout<< "1. Capturar\n";
  11. cout<< "2. Modificar\n";
  12. cout<< "3. Revisar\n";
  13. cout<< "4. Buscar\n";
  14. cout<< "5. Eliminar\n";
  15. cout<< "6. Salir\n";
  16. cout<< "\nSelecciona opcion: ";
  17. cin>> input;
  18. switch(input){
  19. case 1:
  20. serv.Capturar();
  21. break;
  22. case 2:
  23. serv.Modificar();
  24. break;
  25. case 3:
  26. serv.Revisar();
  27. break;
  28. case 4:
  29. serv.Buscar();
  30. break;
  31. case 5:
  32. serv.Eliminar();
  33. break;
  34. case 6:
  35. cout<< "\nSaliste exitosamente";
  36. exit = false;
  37. break;
  38. default:
  39. cout<<"\nOpcion no valida";
  40. break;
  41. }
  42. }
  43.  
  44. }

Un saludo.

Muchas gracias por la solución, me sirvio mucho.
Oye, disculpa, despues de elegir la opcion 1 que es Capturar y poner los datos que se piden, estos se quedan guardados.
¿No sabes como le puedo hacer para que al escoger la opcion 5 que es Eliminar, permita borrar la información que ya esta puesta?

Etiquetas: int, switch
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 22:42.