buenos dias tengo que crear este algoritmo ya lo tengo montado pero necesito que cuando se solicite la clave solo se puedan escribir las opciones que deja el ejercicio esa que si me escribe una clave distinta a ( 12,15,18,19,23,25,19) no deje continuar y vuelva a pedir la clave que puedo hacer porfavor
#include <iostream>
using namespace std;
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
int main(int argc, char** argv) {
float Clave = 0;
float Tiempo = 0;
float Precio = 0;
cout << "Ingrese la clave de la zona: ";
cin >> Clave;
cout << "Ingrese el tiempo hablado: ";
cin >> Tiempo;
if (Clave == 12) {
Precio = 4 * Tiempo;
}else if (Clave == 15) {
Precio = 3.2 * Tiempo;
}
else if (Clave == 18) {
Precio = 5.5 * Tiempo;
}
else if (Clave == 19) {
Precio = 4.8 * Tiempo;
}
else if (Clave == 23) {
Precio = 7 * Tiempo;
}
else if (Clave == 25) {
Precio = 7 * Tiempo;
}
else if (Clave == 29) {
Precio = 4 * Tiempo;
}
cout << "\nValor a pagar: " << Precio << " $";
cout << endl << endl;
system("pause");
return 0;
}
MOD: Etiquetas de Código GeSHi
Hola, puedes usar switch case y meter todo dentro de un do...while.
Asi:
bool flag = false;
do {
cout << "Ingrese la clave de la zona: ";
cin >> Clave;
cout << "Ingrese el tiempo hablado: ";
cin >> Tiempo;
switch (Clave) {
case 12:
Precio = 4 * Tiempo;
flag = true;
break;
<Otras instrucciones>
default:
cout << "Clave invalida" << endl;
flag = false;
break;
}
} while (flag == false);