計算幾何形狀的面積和 周長。首先要求用戶輸入代表形狀爲 的字母。我們用C表示圓,R表示矩形,S表示方形。
用戶選擇形狀後,程序會相應地提示相應的形狀的適當的 尺寸。例如,如果用戶選擇了一個正方形,該程序將要求一方。如果它是一個圓圈,程序將要求半徑。如果 它是一個矩形,它會詢問長度和寬度。 收到適當的尺寸後,程序將計算所需形狀的面積和周長,並將其打印在屏幕上。再次,代碼 將要求另一封信。如果用戶輸入'Q',則程序終止。如何獲得幾何形狀的面積和周長的工作?
該方案的運行將是這樣的:
Please Enter Shape (C: Circle, S: Square, R: Rectangle Q:quit)
>S
Please enter the side of the square
> 8
The area is 64 and the perimeter is 32
Please Enter Shape (C: Circle, S: Square, R: Rectangle Q:quit)
>R
Please enter the width of the rectangle
> 5
Please enter the length of the rectangle
> 7
The area is 35 and the perimeter is 24
Please Enter Shape (C: Circle, S: Square, R: Rectangle Q:quit)
這是我迄今所做的,但不知道爲什麼我不能得到它要求的側方當我按S.
我做了什麼得到的是:
Please Enter Shape (C: Circle, S: Square, R: Rectangle Q:quit)
併除外問:我輸入什麼都它重複了同樣的問題。 Q只是停止,但任何其他包機輸入將要求Please Enter Shape (C: Circle, S: Square, R: Rectangle Q:quit)
發生了什麼事情?在測試之前,從
if (shape == 'R')
#include <iostream>
using namespace std;
int main()
{
//clear the screen.
//clrscr();
//declare variable type int
char shape = 'N'; //none
int area, perimeter;
while(shape != 'Q')
{
cout<<"Please Enter Shape (C: Circle, S: Square, R: Rectangle Q:quit) >"<<endl;
//get shape choice
cin>>shape;
if(shape == 'C')
{
int radius;
//Circle, radius
cout<<"Please enter the radius >"<<endl;
}
else if(shape == 'S')
{
int side;
//Input the side
cout<<"Please enter the side of the square >"<<endl;
//Square, side
cin>>side;
//calculate perimeter and save it in 'peri'
perimeter=4*side;
//show the output 'perimeter'
cout<<"Perimeter of square is "<<perimeter<<endl;
}
else if(shape == 'R')
{
int width,length;
//Rectangle, width,length
}
}
return(0);
}
你輸入的'還是'S'? –
正如@ScottMermelstein所說,一個可能的原因可能是您以小寫形式輸入選項,而代碼期望爲大寫形式。 – heretolearn
是的,你是寫我不得不輸入大寫。但我怎麼能讓它首先要求比周界更大的區域? –