さて、ペンタゴン プロジェクトを作成する必要がありますが、ここで少し混乱しています。つまり、うまく機能しますが、コードが必要なクラスが1つありません。
割り当ては次のとおりです。
プログラムを書き、それを PentagonProject と呼びます。main() 関数を含むファイルのほかに。他に 2 つのクラスがあり、それぞれ独自のファイルのペア (.h; .cpp) に含まれています。クラスの 1 つはクラス MenuClass で、もう 1 つは Pentagon という名前にする必要があります。main() には、MenuClass メンバー関数 DisplayMenu などを呼び出すユーザー ループが必要です。このメニューでは、オブジェクトとも呼ばれる Pentagon クラスのインスタンスのサイズをユーザーが指定および変更できるようにする必要があります。五角形は正則 (すべての面が同じ) でなければなりません。五角形には 5 つの面があります。辺の長さをsとする。このとき、五角形の周囲の長さ P と面積 A は次のようになります。
方程式:
P = 5s
A = s^2 sqrt ( of 25 + 10 sqrt (5) ) / (over) 4
このメニューでは、ユーザーがペンタゴン クラスのインスタンスの周長と面積を計算できるようにする必要があります。プログラムには単一のペンタゴン オブジェクトが必要です。
つまり、プログラムはうまく機能しますが、Pentagon Class で正確に何をどのようにコーディングすればよいかがわかりませんでした。
私のペンタゴンプロジェクト(またはメイン):
// PentagonProject.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include <iostream>
#include "MenuClass.h"
using namespace std;
int main()
{
Menu menu;
do
{
menu.Display();
menu.QueryUser();
menu.ProcessCommand();
}
while(menu.Continue());
return 0;
}
これは私のMenuClassがどのように見えるかです:
// ==================
#include "StdAfx.h"
#include <string>
#include <iostream>
// ==================
// ================
// Class Inclusions
// ================
#include "MenuClass.h"
#include "Math.h"
// ================
// ====================
using namespace std;
// ====================
// ============
// Constructors
// ============
// ===================
// Default Constructor
// ====================
Menu::Menu(void)
{
userMenuSelection = Quit;
} // Constructor Menu
// =====================
Menu::~Menu(void)
{
cout << "====================================" << endl;
} // Destructor ~Menu
// =====================
// ==============================
// Accessor Member-Function Get()
// ==========================
MenuChoices Menu::Get()
{
return userMenuSelection;
} // Accessor Method Get
// ========================
// =============================
// Mutator Member-Function Set()
// ========================================
void Menu::Set(MenuChoices newValue)
{
userMenuSelection = newValue;
} // Mutator Method Set
// =======================
// ==========================
// Member-Function Display( )
// ==========================
void Menu::Display()
{
cout << "======================================" << endl;
cout << " MENU SELECTION " << endl;
cout << "======================================" << endl;
cout << "1: Calculate the Perimeter of Pentagon" << endl;
cout << "2: Calculate the Area of Pentagon" << endl;
cout << "3: Quit" << endl;
cout << "======================================" << endl;
cout << endl;
} // Member-Function Display
// ============================
// =========================
// Member-Function QueryUser
// =========================
void Menu::QueryUser()
{
int selection;
cout << "Enter Menu Selection: ";
cin >> selection;
switch(selection)
{
case 1:
userMenuSelection = Perimeter;
break;
case 2:
userMenuSelection = Area;
break;
case 3:
userMenuSelection = Quit;
default:
userMenuSelection = Quit;
} // switch
// ===========
cout << endl;
} // Method QueryUser()
// =======================
// =================
// Method Continue()
// ========================
bool Menu::Continue()
{
return userMenuSelection != Quit;
} // Method Continue
// ====================
// ==============================
// Member-Function ProcessCommand
// ==============================
void Menu::ProcessCommand()
{
int numberA; // Length of Sides
double area; // Area
if(userMenuSelection == Quit)
{
cout << "Thank you for using this type of program. Have a nice day!" << endl;
}
else if(userMenuSelection != Quit)
{
cout << "Please enter an integer value for the length of the sides: ";
cin >> numberA;
// ==============================
switch(userMenuSelection)
{
case Perimeter:
cout << "Perimeter = " << (5 * numberA) << endl;
break;
case Area:
cout << "Area = " << numberA * numberA * sqrt(25.0 + 10.0 * sqrt(5.0)) / 4.0;
break;
default:
cout << "Warning: error state encountered." << endl;
}
cout << endl;
}
}
// ========================
では、ペンタゴンクラスなしでプログラムが動作することをどのように確認できますか..私の質問は、このプロジェクトを一度に両方のクラスで動作させるにはどうすればよいかということです