C++
I am not sure why I am getting errors cuz noob. Can anyone shed any light on this? I am trying to make a switch statement repeat if the user inputs an invalid choice/data.
Code
// Michael C. Anderson
// 17-NOV-2014
#include <iostream>
#include <iomanip>
int main()
{
//int totalMinutes, overageMinutes, totalCost, overageCost;
//const float PLAN_A = 39.99, PLAN_B = 59.99, PLAN_C = 69.99;
//char customerPlan, A = PLAN_A, B = PLAN_B, C = PLAN_C;
std::cout << "You can use this program to determine if there is a more cost effective cell phone plan available.\n";
std::cout << "The current plans available are as follow." << std::endl << std::endl;
std::cout << "\tPlan A - $39.99 per month; 450 minutes provided.\n\tAdditional minutes are $0.45 per minute.\n\n";
std::cout << "\tPlan B - $59.99 per month; 900 minutes provided.\n\tAdditional minutes are $0.40 per minute.\n\n";
std::cout << "\tPlan C - $69.00 per month; unlimited minutes provided.\n\n";
std::cout << "Now we will collect data from you regarding your usage.\n";
std::cout << "Please select the current plan you have by typing: A for plan A, B for plan B, and C for plan C,\n";
std::cout << "followed by the 'enter/return' key.\n\n";
//std::cin >> customerPlan;
//std::cout << "\nYou entered plan: " << customerPlan << std::endl << std::endl;
bool valid;
do{
char customerPlan;
std::cin >> customerPlan;
//std::cout << "\nYou entered plan: " << customerPlan << std::endl << std::endl;
switch(customerPlan)
{
case 'a':
case 'A':
std::cout << "\tPlan A - $39.99 per month; 450 minutes provided.\n\tAdditional minutes are $0.45 per minute.\n";
valid = true;
break;
case 'b':
case 'B':
std::cout << "\tPlan B - $59.99 per month; 900 minutes provided.\n\tAdditional minutes are $0.40 per minute.\n\n";
valid = true;
break;
case 'c':
case 'C':
std::cout << "\tPlan C - $69.00 per month; unlimited minutes provided.\n\n";
valid = true;
break;
default:
std::cout << "Invalid input!! Please select a correct plan: A, B, or C.\n";
valid = false;
break;
}
while(!valid);
}
return 0;
}
#############################
This is the code I was using as a reference.
#############################
Code
bool valid;
do
{
char answer;
cin >> answer;
switch (answer)
{
case 'y':
case 'Y':
inventory[0] = "Short Sword";
cout << "\nYou place the Rusty Battle Axe in the chest.";
valid = true;
break;
case 'n':
case 'N':
inventory[0] = "Rusty Battle Axe";
cout << "\nYou leave the Short Sword in the chest.";
valid = true;
break;
default :
cout << "\nThat was an invalid response.";
valid = false;
break;
}
}
while (!valid);
}
This is my switch statement with all the other crap removed.
Code
bool valid;
do{
char customerPlan;
std::cin >> customerPlan;
//std::cout << "\nYou entered plan: " << customerPlan << std::endl << std::endl;
switch(customerPlan)
{
case 'a':
case 'A':
std::cout << "\tPlan A - $39.99 per month; 450 minutes provided.\n\tAdditional minutes are $0.45 per minute.\n";
valid = true;
break;
case 'b':
case 'B':
std::cout << "\tPlan B - $59.99 per month; 900 minutes provided.\n\tAdditional minutes are $0.40 per minute.\n\n";
valid = true;
break;
case 'c':
case 'C':
std::cout << "\tPlan C - $69.00 per month; unlimited minutes provided.\n\n";
valid = true;
break;
default:
std::cout << "Invalid input!! Please select a correct plan: A, B, or C.\n";
valid = false;
break;
}
while(!valid);
}
This post was edited by NinjaSushi2 on Nov 17 2014 06:21pm