(C++) 所以我爲我的任務寫一個程序,它需要的程序提示用戶對每個案件後,返回菜單或退出程序,問題我不知道如何有效地實現這一點。有任何想法嗎?此外戒菸,我想打電話給一個名爲「退出」回到菜單和退出程序
#include <iostream> //libraries
using std::cout;
using std::cin;
using std::endl;
int menu(double pi);
int circleArea(double pi);
int circleCircum(double pi); //function declarations for the demanded shapes, passing pi in order to reuse it in both circle calculations
int rectanArea();
int triangArea();
int cubVol();
void exit();
int main()
{
double pi = 3.14159265359; //declaration of pi which I will be using in the circles (passed)
menu(pi);
system("PAUSE");
return 0;
}
int menu(double pi) //menu for choosing a shape
{
int choice = 0;
cout << "Shape Calculator Created By:\n\nPlease select what you wish to calculate:\n\n1 - Area of a Circle\n\n2 - Circumference of a Circle\n\n3 - Area of a Rectangle\n\n4 - Area of a Triangle\n\n5 - Volume of a Cuboid\n\n ";
cin >> choice;
system("CLS");
switch (choice) //switch case for each shape
{
case 1:
circleArea(pi);
break;
case 2:
circleCircum(pi);
break;
case 3:
rectanArea();
break;
case 4:
triangArea();
break;
case 5:
cubVol();
break;
default:
cout << "Invalid input! Please try again.\n\n";
break;
}
return 0;
}
int circleArea(double pi) //the area of circle function
{
double radius = 0;
cout << "Please enter the radius of your circle:\n\n"; //asks for the radius first
cin >> radius;
system("CLS");
cout << "The area of your Circle is:\n\n" << radius*radius*pi << "cm/2\n\n"; //display the calculation which is calculated using the user input, essentially the formula is PI*radius(squared) just reversed
return 0;
}
int circleCircum(double pi) //the circumference of circle function
{
double radius = 0.0;
cout << "Please enter the radius of your circle:\n\n"; //asks for radius first
cin >> radius;
system("CLS");
cout << "The circumference of your Circle is:\n\n" << pi*radius * 2 << "cm\n\n"; //calculates the circumference using the user input, formula is 2*PI*radius but reversed
return 0;
}
int rectanArea() //function for area of rectangle
{
double rectanHeight = 0.0;
double rectanWidth = 0.0;
cout << "Please enter the height of your Rectangle:\n\n"; //asks for input for the height first
cin >> rectanHeight;
system("CLS");
cout << "Height = " << rectanHeight << endl << endl << "Please enter the width of your Rectangle\n\n"; //shows the inputted height above, then asks for input of width
cin >> rectanWidth;
system("CLS");
cout << "The area of your Rectangle is:\n\n" << rectanHeight*rectanWidth << "cm/2\n\n"; //calculates the area of rectangle using the input, formula is height*width then displays it
return 0;
}
int triangArea() //function for area of triangle
{
double triangBase = 0.0;
double triangHeight = 0.0;
cout << "Please enter the base measurement of your Triangle\n\n"; //asks for input of the base first
cin >> triangBase;
system("CLS");
cout << "Base = " << triangBase << endl << endl << "Please enter the height of your Triangle\n\n"; //displays inputted base and then asks for the height
cin >> triangHeight;
system("CLS");
cout << "The area of your Triangle is:\n\n" << triangBase*triangHeight/2 << "cm/2\n\n"; //calculates area using user input and displays it, formula is base*height/2
return 0;
}
int cubVol() //function for volume of a cuboid
{
double cubLength = 0.0;
double cubWidth = 0.0;
double cubHeight = 0.0;
cout << "Please enter the length of your Cuboid\n\n"; //asks for input of length first
cin >> cubLength;
system("CLS");
cout << "Length = " << cubLength << endl << endl << "Please enter the width of your Cuboid\n\n"; //displays inputted length and asks for the width
cin >> cubWidth;
system("CLS");
cout << "Length = " << cubLength << endl << "Width = " << cubWidth << endl << endl << "Please enter the height of your Cuboid:\n\n"; //displays inputted length and width, asks for the height finally
cin >> cubHeight;
system("CLS");
cout << "The volume of your Cuboid is:\n\n" << cubLength*cubWidth*cubHeight << "cm/3\n\n"; //displays the calculation using inputted information, formula is length*width*height
return 0;
}
void exit()
{
cout << "**************************************" << endl;
cout << "**************************************" << endl;
cout << "******* T H A N K Y O U *******" << endl;
cout << "******* F O R U S I N G *******" << endl;
cout << "******* T H I S P R O G R A M *******" << endl;
cout << "**************************************" << endl;
cout << "**************************************" << endl;
}
閱讀有關您最喜愛的C++教科書中的循環。 –
是的,我想過使用do_while循環,雖然我不知道如何使用它們退出並在一個循環中返回到菜單。 – PinkieBarto